gpt4 book ai didi

Java 主类中只有静态成员

转载 作者:行者123 更新时间:2023-12-01 10:52:03 27 4
gpt4 key购买 nike

在包含 main 方法的类中,将该类的所有成员声明为静态是不是不好的做法?如果是这样,为什么?在 main 方法中,创建一个封闭类的新实例,然后从构造函数运行该程序是不是更好?

编辑:(澄清)我了解静态和单例的概念以及通常何时使用它。但这个问题特别涉及程序的主类。 @Andrew Tobilko(他显然删除了他的答案..)从他的答案来看似乎最能理解我的问题。就我而言,我的主类大约有 200 LOC,它使用了另外两个小类(每个 < 100 LOC),所以它是一个小程序。主类包含创建一个 Swing GUI 和一些运行逻辑,不需要有多个实例,所以我想我可以将所有内容都静态化,以便能够使用静态主方法中的所有内容。这是有动机的吗?一位用 C# 编写代码的 friend 告诉我,使用大量 static 在 C# 中意味着死刑。会不会有内存问题或者其他什么问题?

最佳答案

这不是“更好”——这取决于您需要做什么。将类的所有成员声明为静态(包括方法)只会将该类变成单例。如果这是您的用例,那么是的。

将属性声明为静态意味着该属性只有一个副本,该副本由该类的所有实例共享。

如果您的用例需要创建多个实例,并且每个对象都应该有自己的属性“私有(private)副本”,那么您不应该将该属性声明为静态。 p>

推荐read more在继续实现之前先了解该主题。

关于Java 主类中只有静态成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33812496/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com