我有一个方法,试图克隆一个类的实例(B)我已经writen.This方法在类A中调用,所以这种方法是不是在同一班,我正在尝试类克隆(B)。我正试图克隆impliments colneable。当我尝试编译我的代码时,我收到一条错误消息,它读取“clone()已经保护了Java.lang.Object中的访问权限,为什么会这样呢?java克隆错误
Q
java克隆错误
1
A
回答
1
这可能会发生,因为你试图调用克隆( )方法在它允许的访问之外,为了能够调用它,调用它的类应该直接从Object扩展,或者属于相同的包,或者是Object。更多的信息在这里http://download.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html
0
您只能访问不同类型的受保护成员包如果在编译时类型你引用它通过或者是您自己的类或子类的表达。
检查这个link。
1
如果您希望A类内的某些代码克隆类B的实例,则可以将A和B放在同一个包中,或者通过将其公开(而不是离开)来扩大对B.clone()的访问它的保护范围。)
此外,我会引用你的书由Josh Bloch Effective Java。我找到了第三章的PDF here
相关问题
- 1. Git克隆错误
- 2. Github克隆错误
- 3. jquery.prepend克隆错误
- 4. git克隆错误
- 5. GitHub克隆错误:无法克隆与EOF错误
- 6. Gobblin Git克隆错误
- 7. 混帐克隆错误
- 8. 克隆项目的错误
- 9. 错误:克隆项目
- 10. Gitolite混帐克隆错误
- 11. 水银克隆错误
- 12. OpenShift的Git克隆错误
- 13. cv ::: Mat克隆段错误
- 14. Swifty JSON克隆错误
- 15. 错误克隆git re
- 16. Javascript克隆类型错误
- 17. 错误克隆github回购
- 18. omegle克隆mysql_num_rows错误
- 19. Heroku克隆ssh错误
- 20. 克隆Java NamingEnumeration?
- 21. 克隆Java对象
- 22. java中的克隆()
- 23. 替代Java克隆
- 24. Git克隆与https返回错误501
- 25. 克隆AS项目Gradle错误
- 26. 克隆imagick物体 - 错误输出
- 27. 克隆git回购导致错误
- 28. SSH错误克隆Git仓库
- 29. 克隆虚拟机上的SSH错误
- 30. Git的克隆不工作 - 错误443
所以问题是A不是B的sublcass? – David 2011-05-10 02:56:14
@David ...和A和B在不同的包中。 – 2011-05-10 02:59:34