【发布时间】:2016-08-13 11:06:31
【问题描述】:
我正在学习单例设计模式,我确实理解了这个概念。但是,我对以下代码有疑问:-
class Token
{
private static int i = 5;
private static Token obj = new Token();
//Private Constructor
private Token()
{
}
//Returning the singleton object
public static Token getObject()
{
return obj;
}
public static int getValue()
{
return i;
}
}
public class TestMain
{
public static void main(String args[])
{
Token obj = Token.getObject();
System.out.println("Without object " + Token.getValue());
System.out.println("With object " + obj.getValue());
}
}
在这两种情况下都会打印实例变量 i -
Without object 5
With object 5
两种获取实例变量的方式有什么区别,推荐哪一种?
【问题讨论】:
-
您的代码中没有“实例变量
i”。当字段是静态时,它不是实例变量。
标签: java oop design-patterns static singleton