a是一个接口,有a1方法,A1属性
b是一个抽象类,有b1方法,B1属性c实现a,c有方法c1,但a tmp=new c();之后tmp不能调用c1,为什么?
同样
d继承b,d有属性d1,但b tmp=new d()后,tmp不能调用d1,为什么?
一般类这样做都可以的啊,
初学java,请高手指点下
b是一个抽象类,有b1方法,B1属性c实现a,c有方法c1,但a tmp=new c();之后tmp不能调用c1,为什么?
同样
d继承b,d有属性d1,但b tmp=new d()后,tmp不能调用d1,为什么?
一般类这样做都可以的啊,
初学java,请高手指点下
都是多态和继承的问题
父类引用指向子类对象
tmp都是父类的引用,而父类中并没有c1()、d1()方法。
接口和抽象类都位于继承树的顶层,不过接口比抽象类更抽象,呵呵