每次我使用 BB 的 getInfo 方法返回 A 后还要上溯构造成 AA 才能真正被使用
为什么呢?

解决方案 »

  1.   

    楼主这个 接口的测试程序写的很好,值得学习!public class BB implements B {
      public A getInfo() {
        return new AA();
      }
    }按照原来的实现方法,new AA();生成一个AA对象,他会自动向上转型为 A ,所以getInfo()返回一个A 的对象;"换成了 AAA 来实现 A 接口" 后,生成一个AAA对象,他还会自动向上转型为 A ,所以getInfo()还是返回一个A 的对象;因为 class AA 和class AAA都实现了 接口 A ! 
    "白马也是马" !
      

  2.   

    问题是我 AA 和 AAA 不仅实现了 A 接口中的方法,另外自已还有自已所特有的方法,这叫我怎么办呢?我只有从 A 上溯构造出 AA 或 AAA 才能达到我所想要的目的