Java中protected方法求解,如图

A , B类同样都是继承于Object类,都是子类,为什么B类可以调用父类中protected方法clone(),而A却不可以,不同包的子类可以调用protected方法啊

clone()是保护方法,也就是只在本类或子类对象中可以调用,不可以调用和本类无继承关系的其他类的clone()。new A().clone()试图在B类的main方法中调用A类对象的clone方法,而A类和B类无继承关系,因而编译不通过。追问

那么B类继承与A类,A,B类都是Object子类,为什么还是不行

追答

在某个类的方法里只能访问这个类或其子类对象的protected方法,不能访问父类对象的protected方法。

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-03-07
4个修饰符可以看一下
private 只有本类可以调用
protected 只有本类和其子类可以调用
public 所有类都能调用
default 虚拟扩展方法,可以实现也可以不实现本回答被网友采纳
第2个回答  2019-03-08
protected是按包定义范围的
~~~~~~~
!!!!!!!!~~~~~~~~~
~~~~~~~~~~
相似回答