當構造函數參數是列表並且列表通過外部函數更新時,過程如何?當參數是一個數組或列表時,有「傳遞引用」系統。但是如何更新對象?是否使用過任何拷貝構造函數?當第一次傳遞數組到構造函數更新時
我們假設我們有兩個用戶定義的類Point和Curve。我們用Point對象填充我們的列表。然後我們用點列表構造我們的曲線對象。
List<Point> points=new ArrayList<>();
points.add(Point(0,1));
points.add(Point(0,0));
Curve c=new Curve(points);
然後我們在Point列表中添加一個Point對象。
points.add(Point(1,1));
曲線對象如何受到影響?
*'points.Add' typo'points.add' – rajuGT
曲線對象現在在列表中有3個點。 java中的所有東西都是通過值傳遞的,曲線對象的引用與'points'不同,但是指向同一個List(哈哈)。 – user3719857
@ user3719857如果沒有看到'Curve'的代碼,我們不能完全知道這是真的。如果構造函數正在製作列表的深層副本,那麼添加到'points'不會影響它。 – Tgsmith61591