【发布时间】:2020-02-28 21:52:03
【问题描述】:
我一直在思考这些代码sn-ps的区别。我了解如果您使用 getInstance(下面的第二个选项),则无法设置实例字段,但是还有其他区别吗?
public class MainClass {
public static MainClass instance;
public static void main(String[] args) {
instance = new MainClass();
}
public void HelloWorld() {
System.out.println("This is a test!");
}
}
VS
public class MainClass {
private static MainClass instance;
public static void main(String[] args) {
instance = new MainClass();
}
public MainClass getInstance() {
return instance;
}
public void HelloWorld() {
System.out.println("This is a test!");
}
}
使用“MainClass.instance.HelloWorld();”有什么区别? (第一)或“MainClass.getInstance().HelloWorld();” (二)
TLDR:哪一个,为什么?有什么区别?
谢谢! :)
【问题讨论】:
-
你测试过你的代码吗?上面的代码 sn-p 是 instance = this 的语法错误;因为“this”在静态上下文中不存在。
-
已修复!感谢您的关注,一会就写好了。
标签: java static singleton instance