前言
最近在看Android源码的时候遇到了private类构造函数,于是写了一个测试小程序,帮助理解。
代码
class TestPrivate {
private TestPrivate() {
System.out.println("TestPrivate constructor");
}
static TestPrivate mInstance;
public static TestPrivate getInstance() {
if(mInstance == null) {
mInstance = new TestPrivate();
}
return mInstance;
}
}
public class Test {
public static void main(String[] args)
{
TestPrivate t1 = TestPrivate.getInstance();
TestPrivate t2 = TestPrivate.getInstance();
}
}
/*
* Output:
* TestPrivate constructor
*/
分析
类构造函数为private,表示不能在类外进行new,因此需提供一个static函数,在其中new并返回对象。此例实则为一单例模式例子,从output可以看出只运行了一次类构造函数。