我有一個方法,試圖克隆一個類的實例(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