发现问题
1、在不同包下,创建Object对象,不能访问自身用protected修饰内容,为什么?
2、在App类中,不能访问App2类继承自父类Object用protected修饰的内容,为什么?
注:Object类中的clone()方法是被protected修饰
package top.xingze.corejava.test; public class App { void a() throws CloneNotSupportedException { clone();//可直接使用Object类的clone方法 } public static void main(String[] args) throws CloneNotSupportedException { App app = new App(); app.clone();//创建对象,也可调用 Object obj = new Object(); //obj.clone();//编译报错、创建Object对象不能调用?Why? //new App2.clone();//编译报错、不能调用?Why? } } class App2{ void a() throws CloneNotSupportedException { clone(); } }
解答问题
问题1:
protected定义:仅同一包或不同包下子类可访问,现在显然是不同包下,那Object是Object的子类吗?显然也不是,所以不能访问。
问题2:
在一个子类中 不能访问 另一个子类中继承自父类用protected修饰的成员
仅仅个人想法