access control,access,class Soup1
分享于 点击 37287 次 点评:269
access control,access,class Soup1
class Soup1 { private Soup1() {} //私有构造方法,不允许new这个类 // (1) 通过静态方法构建对象,返回该对象的引用。 public static Soup1 makeSoup() { return new Soup1(); } } /** *单例模式 */class Soup2 { private Soup2() {} private static Soup2 ps1 = new Soup2(); //这个对象什么时候创建呢? public static Soup2 access() { return ps1; //直接返回对象引用 } public void f() {}} // 每个类文件只允许有一个public修饰的类public class Lunch { void testPrivate() { // fail: 不能使用new关键字创建Soup1对象 //! Soup1 soup = new Soup1(); } void testStatic() { Soup1 soup = Soup1.makeSoup(); //使用静态方法返回新的Soup1对象。 } void testSingleton() { Soup2.access().f(); //使用静态方法返回Soup2的单例对象。 } } ///:~//该片段来自于http://byrx.net
用户点评