agency.java
来自「关于java面向对象系统分析方面的课件」· Java 代码 · 共 28 行
JAVA
28 行
//情报机关
public class Agency {
public void toMI5(BritishSpy spy) {
// 军情5处当然只能说英语,做英国间谍
System.out.println(spy.speak());
// spy.sprechen();不可见
}
public void inGermany(GermanSpy spy) {
// spy.speak();不可见
System.out.println(spy.sprechen());
}
public static void main(String[] args) {
Agency agency = new Agency();
DoubleAgent da = new DoubleAgent();
BritishSpy es = (BritishSpy) da;
GermanSpy gs = (GermanSpy) da;
agency.toMI5(da); // MI5也不知道他是一个双重间谍,只知道他是BritishSpy
agency.toMI5(es); // 更安全
// toMI5(gs); 不可能
agency.inGermany(da); // 在德国还是安全的,德国人不知道他的双重间谍身份,只知道他是GermanSpy
agency.inGermany(gs);
// inGermany(es); 不可能
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?