protected权限问题,注意:两个类分别在两个包中

public class Son extends Father{
public static void main(String[] args){
Father f = new Father();
Ex4 e = new Ex4();
//!f.method();
e.method();
}
}
其中method()方法是Father类下的被protected修饰的方法。
请问:
我难道不能在Son类中建立父类对象并调用父类Protected修饰的method()方法吗?
Father f = new Father();
f.method().//报错
//注意:注意:两个类分别在两个包中
我发现:用子类对象可以成功调用父类Protected修饰的method()方法
Son s = new Son();
s.method().//成功
//注意:两个类分别在两个包中
求解释?

你为什么用protected;
一般都是用的private或者public的;你这不是自找麻烦吗?

protected只能用在同一个包中;你子类继承了父类当然可以调用父类的方法了

如果回答对您有帮助,请采纳

protected访问权限就是:本类可以访问,同一包内的可以访问,子类可以访问。而子类可以访问是在继承父类的基础上,
在子类内部访问(当然对于子类来说其访问权限也为protected)。当你在子类中,重新实例化了一个父类,就相当于在
不同的包内调用Father类的protected方法,所以会报错。