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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李娟 黑马帝   /  2012-1-11 17:04  /  2124 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 李娟 于 2012-1-11 21:22 编辑

class A{
  void s1(){}
}
class B  extends A
{
  void s1(){}       //此处如果不省略可以吗
  void s2(){}
}
class C extends A
{
  void s1(){}       //同上问题
  void s3(){}
}

评分

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

查看全部评分

3 个回复

倒序浏览
不写没什么问题、但你既然继承了A那么你就一定是想在s1方法上做一些改动,
比如是toString方法输出的样式不同等等
所以你需要从写S1方法从而达到这个目的、
不知道我说明白了么

评分

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

查看全部评分

回复 使用道具 举报
继承了A,不一定是想在s1方法上做一些改动,也可能是继承需要的属性。子类B,C可重写父类的方法,也可不重写,看需要,所以void s1(){} 省略行,不省略也行。
回复 使用道具 举报
继承的目的就是让子类的功能在父类的基础上更为强大,如果是要在父类的基础上扩展新的方法而用不到原来的方法,这时可以不用重写父类方法。如果在新曾方法的原则上还要用到父类的方法,那么这个方法必须得重写。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马