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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 秦冲 黑马帝   /  2011-10-27 22:06  /  2599 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

什么情况下构成覆盖,什么情况下构成隐藏。。

3 个回复

倒序浏览
覆盖就是重写,子类重写父类的方法:三要素:还回值,类型,参数列表一样就构成覆盖
你说的隐藏是抽象方法吗 ,是不是指的没有方法体?
回复 使用道具 举报
祁焱 黑马帝 2011-10-27 23:12:20
藤椅
隐藏:子类重新定义了父类中的同名成员变量。被隐藏的父类成员变量在子类中仍然占有存储空间。
覆盖:子类重新定义了父类的同名成员方法,要求方法名、参数和返回类型都相同。与隐藏不同,此时子类方法将替换掉同名的父类方法,清除父类方法在子类中占有的空间。
回复 使用道具 举报
杨强 黑马帝 2011-10-28 01:05:40
板凳
属性的隐藏是指实例变量和方法内部变量相同时,实例变量在该方法内会被隐藏,比如你在方法内直接输出变量,前面不加this,那么只会输出方法内那个变量的值。
方法的覆盖是指子类继承父类时,对父类的方法进行重写,要求返回类型,参数都要与父类一致,当然返回类型可以返回原来返回类型的子类。
一个是对变量而言一个是对方法而言,对于变量,你在方法内可以是任何的类型,和实例变量的类型没有关系。

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马