【发布时间】:2010-10-01 21:16:48
【问题描述】:
关键字 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)。
因此我得出结论,每个类都可以访问java.lang.Object 的方法,即使它们是protected。
看看下面的例子:
公共类测试类{ 公共对象 getOne() 抛出 CloneNotSupportedException { 返回 this.clone(); } 公共对象 getTwo() 抛出 CloneNotSupportedException { return ((Object) this).clone(); } }虽然getOne() 编译得很好,但getTwo() 给出了
我既不明白为什么getTwo() 不编译也不明白与getOne() 有什么区别(关于java.lang.Objects 成员的访问)。
【问题讨论】:
-
很难相信我在查看
Clonable和Object.clone()时也有同样的困惑 - 谢谢。
标签: java object protected access-modifiers