如果你有一个带有3个方法(x(),y()和z())的接口(Position)并且还有一个抽象类,我们称之为Shape。
Shape实现Position并仅向x()和y()提供代码。编译器是否隐式猜测z()是一个抽象方法?
答案 0 :(得分:3)
是。只要Shape是抽象的,就不需要实现Position的所有方法。这将是任何具体课程所必需的。
答案 1 :(得分:3)
答案 2 :(得分:0)
是的,因为你无法实例化抽象类(Shape),编译器知道z()将由其他一些子类(Shape)实现。
答案 3 :(得分:0)
抽象类不需要实现所有方法。这是他们具体的类/实现的责任。在这种情况下,是z()
将被视为Shape
的抽象方法。
答案 4 :(得分:0)
每个非抽象类都必须为其中任何抽象超类或接口中定义的所有方法提供实现。编译器非常聪明,可以检查整个类的层次结构,以确定您忘记实现您的类声称为其提供实现的内容。