关于java中getInstance()方法,先看一个例子
public abstract class TestInstance {
static int i = 1;
public static TestInstance getInstance() {
System.out.println(i++);
return null;
}
}
public class TestGetInstance {
public static void main(String[] args) {
TestInstance ins1 = TestInstance.getInstance();
TestInstance ins2 = TestInstance.getInstance();
}
}
首先声明一下的是对于抽象类,要想对其实例化,只能用getInstance方法,是不能new出来的,这个例子的运行结果是:
1
2
可以看出,i的值是改变的,这是java中的单例模式,getInstance()方法即是单例模式,是一种对于方法的引用,相当于c++里面的指针,这从结果中是很容易看出来的,所以对于抽象方法中的调用一定要谨慎。