//:Lauch.java
// 学习《Thinking in Java》的代码笔记
// Soup是后面学习单例设计模式的一个基础。
package cn.skyfffire;
/**
*
* @author skyfffire
*
*/
class Soup {
private Soup() {}
/**
* 可以via这个static method返回new objecy.
*
* @return 新的对象的句柄
*/
public static Soup makeSoup() {
return new Soup();
}
/**
* 创建静态对象并根据需求返回句柄
*
* return ps1的句柄
*/
private static Soup ps1 = new Soup();
public static Soup access() {
return ps1;
}
public void f() {
System.out.println("Soup f function is run.");
}
}
class Sandwich {
public static void main(String[] args) {
new Lauch().test();
}
public void f() {
System.out.println("Sandwich f function is run.");
}
}
/**
* 当然,每一个文件都只有唯一的public class.
*
*/
public class Lauch {
void test() {
Soup priv2 = Soup.makeSoup();
Sandwich f1 = new Sandwich();
priv2.f();
f1.f();
Soup.access().f();
}
}
///:~