因爲我們知道,宣佈clone()
方法Object
類保護和Object
每個子類中(這是所有的類)可以在這裏訪問我的問題引起:訪問屬性
如果我寫:
String str1 = "clone";
String str2 = str1.clone();
編譯器將此標記爲錯誤。 String
不會覆蓋clone()
,因此此方法只能在lang包中訪問(我知道這個類是否覆蓋clone()
它應該是公開的,可以從包的外部訪問,並且如果它受到保護,則可以通過lang包訪問)。對? 但這個片段不標記任何編譯錯誤:
Point p1 = new Point();
Point p2 = p1.clone();
爲什麼呢?
String
和Point
類不覆蓋clone()
方法,但clone()
方法可通過Point
對象訪問。
我認爲它不起作用,因爲字符串是最終的和不可變的,並且不實現Cloneable接口。 – jpw