查看以下代码时,每个类中的每个方法都被视为多态。
class A {
void foo() {}
}
class B extends A {
void foo() {}
}
class C extends A {
void foo() {}
}
在以下代码片段中是否仍然如此,其中A类是抽象的?
abstract class A {
void foo() {}
}
class B extends A {
void foo() {}
}
class C extends A {
void foo() {}
}
我正在与一个java认证考试的研究小组合作,我认为它不会。因为你仍然可以访问A中的foo(),如果你要扩展D类但不定义foo(),然后尝试访问它。在这种情况下,它不会是多态的,因为它不会有任何变化。
abstract class A {
void foo() {}
}
class D extends A {
}