黑马程序员技术交流社区

标题: 用父类对象引用创建子类对象 会创建子类对象吗 [打印本页]

作者: 大自然的搬运工    时间: 2015-11-3 02:01
新手,可能不太专业,只是发表一下理解:
创建的是子类对象,不会单独创建父类对象,但是又因为子类继承了父类的所有属性和方法,所以子类里面也有父类的方法,之所以调用时只要调用父类方法,但执行时会执行子类的方法。它实际上调用的是子类继承的父类的方法,只不过你没有重写父类方法,所以看上去好像是执行的父类方法,实际上执行的是子类中的方法。这是多态,楼主在理解理解多态知识吧。。,。
楼主加油吧
作者: 纳木错的程序猿    时间: 2015-11-4 11:33
当父类引用去调用方法时,编译过程先是去看父类中有没有这个方法,如果有。就执行子类中的同名非静态方法,因为重写了,肯定会执行。但是如果父类中没有这个方法,编译的时候就会报错。这就是为什么多态中父类引用不能访问子类特有方法的原因。

作者: sushizheng    时间: 2015-11-4 12:01
楼上说的对,JAVA多态上就有说.
作者: 北极的男娃    时间: 2015-11-4 19:18
不能访问特有的  重写继承的就不算了
作者: 刘旭波    时间: 2015-11-4 19:50
你需要在子类中重写父类的调用方法,这样调用方法时才会调用到子类的方法,你可以搜一下多态的知识看看
作者: dai2686779    时间: 2015-11-4 21:16
66666666666666666
作者: 会盟天下英豪    时间: 2015-11-4 21:31
子类对象内部会包含一父类的子对象
作者: 我若为神    时间: 2015-11-4 21:35
加油66666666
作者: dai2686779    时间: 2015-11-4 22:23
666666666666




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2