为了账号安全,请及时绑定邮箱和手机立即绑定

关于方法的多态

在这节课的案例中

Animal obj1 = new Animal();

Animal obj2 = new Dog();

这两个有什么区别吗

如果换成Dog obj2 = new Dog(); 

也是可以的把


正在回答

2 回答

建议了解一下实现多态的三个必要条件:继承,重写,向上转型。

父类类型的引用可以调用父类的所有属性和方法。

子类重写父类方法,父类引用指向子类对象时,可调用子类中重写方法。

子类重载父类方法,父类引用指向子类对象时,无法调用子类中重载方法(父类中不存在该方法)。

1 回复 有任何疑惑可以回复我~
Animal obj1 = new Animal(); //1. 父类的引用指向父类的对象
Animal obj2 = new Dog();    //2. 父类的引用指向子类的对象
Dog obj2 = new Dog();       //3. 子类的引用指向子类的对象
//总的来说,第一种和第三种属于一类,都是本类的引用指向本类的对象。


0 回复 有任何疑惑可以回复我~
#1

阿楠呐 提问者

父类引用和子类引用有什么区别吗,或者说,他们分别适合哪种场景使用
2018-08-10 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530714    人
  • 解答问题       6091    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

关于方法的多态

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信