0

実行時に呼び出されますParent.parentMethod2か?Child.parentMethod2Child.childMethod1

public class Parent
{
    public void parentMethod1()
    {
        parentMethod2();
    }

    public void parentMethod2()
    {
        //do something
    }
}

public class Child extends Parent
{
    public void childMehod1()
    {
        parentMethod1();
    }

    @Override
    public void parentMethod2()
    {
        //do something else
    }
}
4

3 に答える 3

2

子メソッドが呼び出されます(つまり、オーバーライドされたparentMethod2)。これは、Javaで継承が機能する「通常の」方法です。オブジェクト子であるため、使用可能な場合は子のメソッドを実行します。オーバーライドされないparentMethod1からparentMethod2を呼び出すことは重要ではありません。メソッドを実行しているインスタンスはまだ子です

于 2013-03-12T12:45:32.363 に答える
1

Child.childMehod1()を呼び出しますChild.parentMethod2()。つまり、「//何か他のことをする」コードが実行されます。

于 2013-03-12T12:39:00.747 に答える
1

1つのことを覚えておいてください

   public class Parent
    {
        public void parentMethod1()
        {
            this.parentMethod2();  //I have added 'this' here, ('this'  is implicit)
        }
    }

したがって、「this」は現在、子オブジェクトであるオブジェクトを実行しています。したがって、子メソッドが呼び出されます。

于 2013-03-12T12:39:12.287 に答える