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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 韦振华 中级黑马   /  2012-12-25 00:09  /  1048 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

可以在子类中重新定义一个与超类的完全相同的方法,变量,子类的方法或者变量将覆盖超类的方法和变量,此时超类中的该
成员变量和方法可以在子类中使用,通过super来操作
    方法覆盖时,要遵循一定的语法限制:覆盖方法的返回类型必须同它所覆盖的方法相同,覆盖方法不能比它所覆盖的访问性差,
覆盖方法不能比它所覆盖的方法抛出更多的异常。

1 个回复

倒序浏览
可以在子类中重新定义一个与超类的完全相同的方法,变量,子类的方法或者变量将覆盖超类的方法和变量,
楼主我一看发现这句话有问题。方法的覆盖没问题,但是变量的覆盖这样理解是不正确的。你在子类中重新定义和父类中变量名相同的变量。其实并没有覆盖。,不行的话,你可以通过多态,建立父类的引用指向子类的实例
然后你在打印变量。你自己看下结果就知道。变量并没有覆盖。如果想要覆盖。在子类的构造函数中,直接使用父类的变量名就行。不要在子类中重新定义变量。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马