黑马程序员技术交流社区

标题: 关于接口和抽象类。 [打印本页]

作者: 我要淡定。    时间: 2014-8-31 09:47
标题: 关于接口和抽象类。
子类要想继承抽象类,是不是必须覆盖抽象类的所有抽象方法,不是抽象的可以不覆盖。

作者: 安茹黑马    时间: 2014-8-31 11:17
抽象类里可以有非抽象的方法,对应继承抽象类的子类来说,覆盖不覆盖非抽象方法都无所谓,至于抽象类里面的抽象方法,你可以都覆盖,也可以只覆盖你需要的方法(但是这种的话,子类必须也是抽象类,前面要加abstract的)
作者: 梦里听传说    时间: 2014-8-31 11:21
嗯,是的
作者: 安茹黑马    时间: 2014-8-31 11:29
梦里听传说 发表于 2014-8-31 11:21
嗯,是的

不是的,如果子类你不需要创建对象的话,也可以只覆盖部分的抽象方法,看子类愿不愿意抽象了
作者: 黑马-胡明    时间: 2014-8-31 11:44
可以不用覆盖!
作者: 她只是过客    时间: 2014-8-31 12:10
子类必须覆盖父类里的所有抽象方法,如果不覆盖,那么就会继承,而一旦继承,那么子类里就有了这个抽象方法,子类有了抽象方法就必须是抽象类。。。总的来说,子类继承了父类的全部非抽象方法,还必须覆盖全部抽象方法,如果没有覆盖,就像前面说的,子类变抽象,子类的子类又变抽象,循环下去完不了了,
作者: 夜半风    时间: 2014-8-31 13:10
恩,是的啊,如果有没有被覆盖掉的抽象方法,那就相当于子类有抽象方法,有抽象方法的类你说它是什么类
作者: 彭卫红    时间: 2014-8-31 14:15
抽象类就是特殊的类,里面有抽象方法。接口又是特殊的抽象类,里面的抽象方法没有实体。
作者: 我要淡定。    时间: 2014-9-1 08:24
安茹黑马 发表于 2014-8-31 11:17
抽象类里可以有非抽象的方法,对应继承抽象类的子类来说,覆盖不覆盖非抽象方法都无所谓,至于抽象类里面的 ...

谢谢了,明白了
作者: 我要淡定。    时间: 2014-9-1 08:26
她只是过客 发表于 2014-8-31 12:10
子类必须覆盖父类里的所有抽象方法,如果不覆盖,那么就会继承,而一旦继承,那么子类里就有了这个抽象方法 ...

恩恩  ,明白了:loveliness:
作者: 我要淡定。    时间: 2014-9-1 08:27
夜半风 发表于 2014-8-31 13:10
恩,是的啊,如果有没有被覆盖掉的抽象方法,那就相当于子类有抽象方法,有抽象方法的类你说它是什么类 ...

:)谢谢,明白了
作者: 我要淡定。    时间: 2014-9-1 08:28
彭卫红 发表于 2014-8-31 14:15
抽象类就是特殊的类,里面有抽象方法。接口又是特殊的抽象类,里面的抽象方法没有实体。 ...

恩呢,对对对!




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