Привет! У меня простой вопрос. Есть следующий код:
class A{
public void f(){
System.out.println("A::f()");
}
}
class B extends A{
public void f(){
System.out.println("B::f()");
}
}
class C extends B{
C(){
A.f(); //??? Как вызвать f() предка 'A'?
}
}
Можно ли из C вызвать метод предка 'A'? C 'B' понятно, через 'super'.
Заранее спасибо!
class C extends B{
C(){
super.B();
...
}
}
Posted via RSDN NNTP Server 2.0
F>Можно ли из C вызвать метод предка 'A'? C 'B' понятно, через 'super'.
F>Заранее спасибо!
что Вы людям голову морочите? приведенный Вами пример собственно и есть ответ на вопрос — все компилируется и работает, вызывается метод f() у класса A.
конечно, если имеется в виду static метод f(), поскольку в приведенном примере написан вызов именно статик-метода ("A.f()")
public class ClassesTest {
public ClassesTest() {
C c = new C();
}
public static void main(String[] args) {
ClassesTest main1 = new ClassesTest();
}
}
class A {
static public void f() {
System.out.println("A::f()");
}
}
class B
extends A {
static public void f() {
System.out.println("B::f()");
}
}
class C
extends B {
C() {
A.f(); //??? Как вызвать f() предка 'A'?
}
}