当前位置: 首页 > 知识库问答 >
问题:

Java静态vs实例

程成天
2023-03-14

所以我的编码器朋友讨厌使用static编码。然而我的Java程序中却充满了类之间的链接,而且我有很多!

是否值得重写整个代码来移除静态方法

用一个比用另一个有什么好处吗?

共有1个答案

江恩
2023-03-14

1.一个实例变量是每个对象一个,每个对象都有自己的实例变量副本。

例如:

public class Test{

   int x = 5;

 }

Test t1 = new Test();   
Test t2 = new Test();

T1T2都有自己的X副本。

public class Test{

   public static int x = 5;

 }

Test t1 = new Test();   
Test t2 = new Test();

4.静态方法不能访问非静态变量或方法。

5.静态方法静态变量可以模拟单例模式,但这不是正确的方法,因为当有很多类时,我们不能确定JVM的类加载顺序,这可能会产生问题。

 类似资料:
  • 日安, 我对Java相当陌生。我开始学习的第一门语言是C++。在C++中,我使用了一个新的.cpp文件将代码分散到多个文件中,这样代码就不会太过聚集。我只会在需要的时候使用classes(例如,根据学生的姓名、地址、电话号码等对一所学校的学生进行分类)。但是现在我改成了Java,当我不想对某些东西进行分类时,我很难理解如何使用类。假设我想将代码分散在多个.java文件中,这样它就不会被聚集。当创建

  • 问题内容: 下面的程序打印: 首次加载类时,首先要初始化静态块和字段,然后才初始化实例块和字段。因此,应首先初始化变量“ objectName1”和“ objectName2”,然后初始化实例变量“ list”……但输出显然与该理论相矛盾……任何人都可以解释程序行为(我不是在批评程序)。设计本身顺便说一句)? 问题答案: 静态块 按顺序 初始化(因此您可以在下面的代码中依赖上面的代码)。通过在中创

  • 这个类有三个方法执行相同的操作,它们等待页面加载三秒钟,如果页面加载,则返回true。 我的问题是,我如何决定哪段代码是最好的? 我知道Lambda比Anon类更好,但为什么静态嵌套类(pageLoaded3)不好呢?根据这篇文章,它也应该是合适的。 这是三个方法返回类型的接口:

  • 问题内容: Swift的最佳做法是什么? 选项1: 然后 选项2: 然后 问题答案: tl; dr 当您存储可变状态时的选项1(类或结构),因为您需要其他实例。 当您要存储静态变量时,可以使用选项2(作用域全局变量),因为它速度更快且使用的内存更少。 具有变量的Singleton类(或结构) 全球状态通常被认为是“坏事”。很难考虑,会引起问题,但有时是不可避免的。 如果您想拥有多个实例,请创建一个

  • 我的程序有问题。Eclipse写道: 我做错了什么?我的应用程序中有2个错误。班你能改进我的代码并解释一下吗?先谢谢你。 多边形 地聚线