阿楠呐
2018-08-10 15:22
在这节课的案例中
Animal obj1 = new Animal();
Animal obj2 = new Dog();
这两个有什么区别吗
如果换成Dog obj2 = new Dog();
也是可以的把
建议了解一下实现多态的三个必要条件:继承,重写,向上转型。
父类类型的引用可以调用父类的所有属性和方法。
子类重写父类方法,父类引用指向子类对象时,可调用子类中重写方法。
子类重载父类方法,父类引用指向子类对象时,无法调用子类中重载方法(父类中不存在该方法)。
Animal obj1 = new Animal(); //1. 父类的引用指向父类的对象 Animal obj2 = new Dog(); //2. 父类的引用指向子类的对象 Dog obj2 = new Dog(); //3. 子类的引用指向子类的对象 //总的来说,第一种和第三种属于一类,都是本类的引用指向本类的对象。
Java入门第二季 升级版
530655 学习 · 6091 问题
相似问题