关键字
现在,每个类都有
因此,我得出结论,即使它们是
看下面这个例子:
protected
授予相同包中的类和子类的访问权限(http://java.sun.com/docs/books/tutorial/java/javaOO/accesscontrol.html)。现在,每个类都有
java.lang.Object
作为超类(http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html)。因此,我得出结论,即使它们是
protected
,每个类也可以访问java.lang.Object
的方法。看下面这个例子:
public class Testclass { public Object getOne() throws CloneNotSupportedException { return this.clone(); } public Object getTwo() throws CloneNotSupportedException { return ((Object) this).clone(); } }
getOne()
编译良好,而getTwo()
则给出以下错误:
Testclass.java:6: clone() has protected access in java.lang.Object return ((Object) this).clone();我既不理解
getTwo()
为什么不能编译,也不知道与getOne()
相比(关于对java.lang.Object
成员的访问)有何区别。
Clonable
和Object.clone()
时,我也有同样的困惑 - 谢谢。 - wulfgarpro