Вызов метода предка
От: iFuzzy Украина  
Дата: 20.02.06 15:22
Оценка:
Привет! У меня простой вопрос. Есть следующий код:

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'.
Заранее спасибо!
Re: Вызов метода предка
От: Blazkowicz Россия  
Дата: 20.02.06 15:25
Оценка: :)
Здравствуйте, iFuzzy, Вы писали:

F>Привет! У меня простой вопрос. Есть следующий код...


http://rsdn.ru/Forum/Message.aspx?mid=155840&only=1
Автор: Firefly
Дата: 17.12.02

http://rsdn.ru/Forum/Message.aspx?mid=458402&only=1
Автор: Slicer [Mirkwood]
Дата: 27.11.03

В поиск!
Re: Вызов метода предка
От: jsa  
Дата: 21.02.06 01:20
Оценка: -2
class C extends B{
C(){
super.B();
...
}
}
Posted via RSDN NNTP Server 2.0
Re: Вызов метода предка
От: alskor  
Дата: 21.02.06 18:08
Оценка:
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'?
    }
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.