0
嗨我試圖設計一種測試方式,如果複製構造函數是深層或淺層副本。我已經提出了以下內容。它會正常工作嗎?淺拷貝的輸出是淺這是測試淺層還是深層拷貝的適當方法?
Test1
深輸出
Test1
Test1
輸出。
在我的腦海中,這是有道理的,因爲它在深拷貝中沒有被複制到第二個實例。
public class DeepAndShallowCopyConstructor {
public String Stringtest ="";
public DeepAndShallowCopyConstructor(){
}
//Deep
public DeepAndShallowCopyConstructor(DeepAndShallowCopyConstructor other){
DeepAndShallowCopyConstructor test = new DeepAndShallowCopyConstructor();
this.Stringtest = test.Stringtest;
}
// //Shallow
// public Testing(Testing other){
// this.Stringtest = other.Stringtest;
// }
public static void main(String[] args) {
// TODO Auto-generated method stub
DeepAndShallowCopyConstructor test1 = new DeepAndShallowCopyConstructor();
test1.setStringtest("test1");
System.out.println(test1.getStringtest());
DeepAndShallowCopyConstructor test2 = new DeepAndShallowCopyConstructor(test1);
System.out.println(test2.getStringtest());
}
public String getStringtest() {
return Stringtest;
}
public void setStringtest(String stringtest) {
Stringtest = stringtest;
}
}
我知道他們說在Java中名字應該很長,但我認爲你會嚴重地過度使用它,以至於代碼不可讀。另外,'Stringtest'絕對不應該有大寫字母S,它不是一個類型名稱。另外..我已經讀了幾次,仍然沒有理解你的目標。 – MightyPork