A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

龚东阳

初级黑马

  • 黑马币:

  • 帖子:

  • 精华:

© 龚东阳 初级黑马   /  2012-9-12 17:17  /  2777 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

假设一个父类引用指向子类对象是Father f=new Son();  
那么这个父类引用指向子类对象的意思是在用父类f调用方法的时候只能调用子类中被重写的方法,而且还是父类中必须包含的方法,不能调用子类特有的方法,这样解释对吗?
而且父类的方法不用写实现,对么?

评分

参与人数 2技术分 +1 黑马币 +3 收起 理由
田建 + 1 新手鼓励!
创出一片辉煌 + 3 加油!

查看全部评分

6 个回复

倒序浏览
Father f=new Son();
定义一个父类类型的引用指向一个子类的对象,既可以使用子类增强的方法,又可以抽取父类的共性。
父类类型的引用可以调用父类中定义的所有属性和方法,但是对子类中定义而父类中没有定义的方法,不能调用。
父类中的方法只有在父类中定义而在子类中没有重写的情况下,才可以被父类类型的引用调用。

评分

参与人数 1技术分 +1 收起 理由
田建 + 1

查看全部评分

回复 使用道具 举报
这个就好比 比人找你老毕 可是老毕不在 只能找小毕 小毕 有老毕的方法 不过比老毕给厉害。
回复 使用道具 举报
李菁 发表于 2012-9-12 17:30
Father f=new Son();
定义一个父类类型的引用指向一个子类的对象,既可以使用子类增强的方法,又可以抽取 ...

父类的方法有,但没实现,子类不用必须重写方法么?
回复 使用道具 举报
凡是父类有的的方法,都可以调用,并且只能调用父类有的方法.如果该方法已经被子类重写,则实际上是调用子类重写的方法;

方法调用是基于你所定义的变量的类型的,而不是变量引用的对象的类型,由于这里引用变量是父类型,所以他调用的方法必须是父类里面有的,否则编译不会通过,如果调用方法在变量引用的子类对象中已经重写,则实际调用的是重写的方法

评分

参与人数 1技术分 +1 收起 理由
田建 + 1

查看全部评分

回复 使用道具 举报
继承父类不用  继承接口必须重写所以方法

评分

参与人数 1技术分 +1 收起 理由
田建 + 1 鼓励一下,最好举例说明一下!.

查看全部评分

回复 使用道具 举报
李菁 中级黑马 2012-9-12 21:26:59
7#
龚东阳 发表于 2012-9-12 17:46
父类的方法有,但没实现,子类不用必须重写方法么?

子类不用重写父类全部方法,想增强父类哪个方法的代码就重写哪个
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马