0
class A{
    int i,j;
    A(int x,int y){
        i=x;j=y;
    }
    void show(){
        System.out.println("i="+i+" j="+j);
    }
}

class B extends A{    
    int k;
    B(int i,int j,int k){
        super(i,j);
        this.k=k;
    }
    void show(){
        System.out.println("k="+k);
    }
}

public class overridingEx{
    B ob=new B(1,2,3);
    ob.show();    // this will call the B's show method.
}

B のクラス オブジェクト ob から A クラス メソッドを呼び出す方法はありますか?

4

2 に答える 2

2

Aからのshowメソッドを呼び出す必要はありませんob。のメソッドsuper.show()内から呼び出す必要があります。Bshow

void show(){
    super.show();
    System.out.println("k="+k);
}

ob.show()が呼び出されると、両方のshow()メソッドからの出力が表示されます。

i=1 j=2
k=3

サブクラス内から呼び出すsuper.show()と、メソッドのスーパークラスの実装が呼び出されますshow()

于 2013-08-16T19:27:02.937 に答える
0

superスーパークラスのメソッド、定数、コンストラクターなどを明示的に使用するために使用します。

を入れsuper.show()B使用しますA#show()

于 2013-08-16T19:27:20.760 に答える