日期:2014-05-20 浏览次数:20677 次
//A实现IA接口 public class A implements IA { void m() {} } //A1继承A public class A1 extends A { void aaaa1(){} } //A2继承A public class A2 extends A { void aaaa2(){} } //包含有A1、A2这些IA的实现类的一个包租婆类 public class BaoZuPo { private IA a1; private IA a2; …… //get set 方法略 } //经常遇到的情况: public class Test { void test() { A1 a1 = (A1)BaoZuPo.getA1(); a1.aaaa1(); //类似的 A2 a2 = (A2)BaoZuPo.getA2(); a2.aaaa2(); } }
//A实现IA接口 public class A implements IA { void m() {} } //A1继承A public class A1 extends A { void aaaa1(){} } //A2继承A public class A2 extends A { void aaaa2(){} } //包含有A1、A2这些IA的实现类的一个包租婆类 public class BaoZuPo { private IA a1; private IA a2; …… //get set 方法略 } //经常遇到的情况: public class Test { void test() { IA a1 = BaoZuPo.getA1(); a1.m(); //这里才是意义所在 ((A1)a1).aaaa1(); //这里是调用子类自己的方法,体现不出意义 //类似的 IA a2 = BaoZuPo.getA2(); a2.m(); //这里才是意义所谓 ((A2)a2).aaaa2(); //这里是调用子类自己的方法,体现不出意义 } }