Câu hỏi phỏng vấn Java
Câu hỏi

Pass by referencepass by value trong Java là gì?

Câu trả lời

Trong Java, cách thức truyền tham số vào phương thức (method) có thể được hiểu qua hai khái niệm: pass by value và pass by reference. Tuy nhiên, quan trọng là phải nhận biết rằng Java chỉ sử dụng pass by value.

Pass by Value

Khi truyền một tham số vào một phương thức, Java sao chép và truyền giá trị của tham số đó vào phương thức. Đối với các kiểu dữ liệu nguyên thủy (primitive types như int, float, double, v.v.), giá trị thực sự của biến được sao chép. Điều này có nghĩa là bất kỳ thay đổi nào đối với tham số trong phương thức sẽ không ảnh hưởng đến biến ban đầu ngoài phương thức.

Pass by Reference (Giả Lập)

Đối với các đối tượng, Java truyền giá trị của tham chiếu đến đối tượng, không phải đối tượng thực sự. Điều này thường gây nhầm lẫn và được nhiều người hiểu nhầm là pass by reference. Tuy nhiên, điều quan trọng cần nhớ là giá trị của tham chiếu (địa chỉ bộ nhớ của đối tượng) được sao chép và truyền vào phương thức. Nếu bạn thay đổi thuộc tính của đối tượng thông qua tham chiếu này, thì thay đổi sẽ ảnh hưởng đến đối tượng ban đầu. Tuy nhiên, nếu bạn cố gắng gán một đối tượng mới cho tham chiếu đó trong phương thức, tham chiếu ban đầu ngoài phương thức sẽ không bị thay đổi.

Ví dụ

public class Test {
    p...
middle

middle

Gợi ý câu hỏi phỏng vấn

middle

Sự khác biệt giữa public, protected, package privateprivate trong Java là gì?

middle

Có những cách nào để tạo một Thread trong Java. Bạn thích cách nào và tại sao?

senior

Trong Java connection pooling có nghĩa là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào