黑马程序员技术交流社区

标题: 一个类实现接口后 [打印本页]

作者: 一抹浓茶    时间: 2015-3-19 09:59
标题: 一个类实现接口后
一个类实现接口后,没有覆盖接口中的方法,为什么该类必须要定义为抽象类?
作者: 齐浩    时间: 2015-3-19 13:32
抽象类可以不实现接口的方法,但该类必须声明为抽象类,让他的子类来实现.,如果他的子类还是抽象类那就再由子类的子类去实现,直到继承该类的类不是抽象类为止。前提是所继承该类的派生类是不是抽象类来衡量是否需要实现接口的方法.
1 如果实现类也是抽象类,则可以部分实现父类或接口中的方法、属性;
2 如果实现类是非抽象的,则必须实现抽象父类或接口中的方法、属性。
作者: 火七君    时间: 2015-3-19 13:44
一句话,没覆盖的话这个类就会有抽象方法,一般类中不能有抽象方法,所以要定义为抽象类。
作者: huhanghao    时间: 2015-3-19 14:04
如果你想用该类仅仅作为方法来实现,为了避免用它来建立对象,最好为其中要实现的函数定义为abstract。这样该类只能被继承并重写该方法才行。这就类似接口的功能了。不过建议实现功能还是用接口比较好。因为类和接口的抽象范围不一样,类抽象的是一类具体对象基本的东西。但是接口仅仅抽象的是动作。




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