(1) 創建一個myString類,在其中包含了一個String對象,以便用在構建器中用構建器的自變量對其進行初始化。添加一個toString()方法以及一個concatenate()方法,令其將一個String對象追加到我們的內部字串。在myString中實現clone()。創建兩個static方法,每個都取得一個myString x句柄作為自己的自變量,並調用x.concatenate("test")。但在第二個方法中,請首先調用clone()。測試這兩個方法,觀察它們不同的結果。
(2) 創建一個名為Battery(電池)的類,在其中包含一個int,用它表示電池的編號(采用獨一無二的標識符的形式)。接下來,創建一個名為Toy的類,其中包含了一個Battery數組以及一個toString,用於打印出所有電池。為Toy寫一個clone()方法,令其自動關閉所有Battery對象。克隆Toy並打印出結果,完成對它的測試。
(3) 修改CheckCloneable.java,使所有clone()方法都能捕獲CloneNotSupportException違例,而不是把它直接傳遞給調用者。
(4) 修改Compete.java,為Thing2和Thing4類添加更多的成員對象,看看自己是否能判斷計時隨復雜性變化的規律——是一種簡單的線性關系,還是看起來更加復雜。
(5) 從Snake.java開始,創建Snake的一個深層復制版本。