-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上调用 protectedMethod() ,而不是在创建的任何独立 Parent 对象上。

所以, super.protectedMethod() 是合法的,但这似乎不是你所需要的。如果您想创建一个调用 Parent 对象上的方法的 Child 对象,而不是它自己的父对象,那么您必须将方法声明为 public。

于 2013-02-19T04:21:48.720 回答