printerproxy.java
来自「<设计模式-Java语言中的应用> 的源码」· Java 代码 · 共 36 行
JAVA
36 行
public class PrinterProxy implements Printable {
private String name; // 名称
private Printable real; // 「本人」
private String className; // 「本人」的类名称
public PrinterProxy(String name, String className) { // 构造子
this.name = name;
this.className = className;
}
public synchronized void setPrinterName(String name) { // 命名
if (real != null) {
real.setPrinterName(name); //「本人」也要命名
}
this.name = name;
}
public String getPrinterName() { // 取得名称
return name;
}
public void print(String string) { // 输出到画面上
realize();
real.print(string);
}
private synchronized void realize() { // 产生「本人」
if (real == null) {
try {
real = (Printable)Class.forName(className).newInstance();
real.setPrinterName(name);
} catch (ClassNotFoundException e) {
System.err.println("找不到类 " + className + "。");
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?