-1

オーバーライドの概念を念頭に置いてプログラムを開発していました..

class Parent
{
    private void method1 () {
        System.out.println ("Parent's method1 ()");
    }
    public void method2 () {
        System.out.println ("Parent's method2 ()");
            method1 ();
    }
}

class Child extends Parent
{
    public void method1 ()  {
        System.out.println ("Child's method1 ()");
    }
       //overriding
    public void method2 ()  {
        System.out.println ("Child's method2 ()");
    }

    public static void main (String args []) {
        Parent p = new Child ();
        p.method2 ();//parent
    }
}

method2() を呼び出すと、親クラス method2() が呼び出されます。上記のように、オブジェクトの作成中に親参照を渡しますが、子クラス method2() にアクセスする場合も同様の方法で、1 つの方法は子クラスのオブジェクトを直接作成しますが、親参照を渡して同様の方法で子クラスの method2() を呼び出したい場合は、どうすればよいかアドバイスしてください。

4

1 に答える 1

-1

Srinivas Reddy Thatiparty が以前のバージョンの質問に回答しました。

子クラスのメソッドをオーバーライドすると、子インスタンスは子クラスのメソッドを使用します。

super.method2()子メソッドにメソッド呼び出しを含めることで、子メソッドから親メソッドを実行できます。

または、子を親オブジェクトにキャストしてから、メソッドを呼び出すことができます。

Parent parent = (Parent) child;
parent.method2();
于 2012-04-30T17:41:15.887 に答える