Java là "pass-by-reference" hay "pass-by-value"?

{{FormatNumbertoThousand(model.total_like)}} lượt thích
100 lượt xem
Java middle

Java luôn là pass-by-value. Thật không may, khi chúng ta truyền giá trị của một đối tượng, chúng ta đang truyền tham chiếu đến nó. Không có cái gọi là "pass-by-reference" trong Java. Điều này gây nhầm lẫn cho người mới bắt đầu.

Chìa khóa để hiểu điều này là một cái gì đó như:

Dog myDog;

không phải là một Dog; nó thực sự là một con trỏ đến một Dog.

Vì vậy, khi bạn có

Dog myDog = new Dog("Rover");
foo(myDog);

về cơ bản bạn đang truyền địa chỉ của đối tượng Dog đã tạo cho phương thức foo.

{{login.error}}