распечатать все унаследованные значения с помощью супер-метода в Java - PullRequest
0 голосов
/ 09 мая 2018
package supertest;
public class Parent {
    public void show  (){
        System.out.println(" I am father");     
    }


package supertest;
public class Child  extends Parent{
    public void show(){
        System.out.println("I am child ");
    }
}




public class GrandChild extends Child{

    public void test(){
        super.show();
        System.out.println("I am grand child");

    }




    public static void main(String[] args) {      
        GrandChild gr=new GrandChild();
        gr.test();   

    }

В методе super выводится сообщение "Я - ребенок, я - великий ребенок" но я хотел бы вывести все три значения метода: «Я отец, я ребенок, я великий ребенок» Как я могу это исправить

1 Ответ

0 голосов
/ 09 мая 2018

В grandChild.show() вызов super.show() вызовет child.show().

Итак, в child.show() вам необходимо вызвать super.show() явно, чтобы вызвать parent.show():

public class Child  extends Parent{
    public void show(){
        super.show();
        System.out.println("I am child ");
    }
}
...