-1

protectedMethod()クラス Parent のオブジェクトでさえそのメソッドを呼び出すことができないのはなぜですか?

package packageA;

public class Parent{
  protected void protectedMethod(){
     System.out.println("Hello Parent");
  }
}

そして別のパッケージで:

package packageB;
import packageA.Parent;

Public Class Child extends Parent{
    public static void main(String[] args) {
        Parent parent = new Parent();
        parent.protectedMethod(); //illegal
        Child child = new Child();
        child.protectedMethod(); // legal       
    }
}
4

1 に答える 1

1

子クラスは、作成された独立した Parent オブジェクトではなく、独自の parentで protectedMethod() を呼び出すことができます。

したがって、 super.protectedMethod() は合法ですが、それは必要なものではないようです。Parent オブジェクトのメソッドを呼び出すが、それ自体の親ではない Child オブジェクトを作成する場合は、メソッドをパブリックに宣言する必要があります。

于 2013-02-19T04:21:48.720 に答える