FaCode Ngôn ngữ Java truyền giá trị và tham chiếu (pass-by-value và pass-by-reference) trong java
Nếu chúng ta gọi một phương thức và truyền một giá trị cho phương thức đó được gọi là truyền giá trị. Việc thay đổi giá trị chỉ có hiệu lực trong phương thức được gọi, không có hiệu lực bên ngoài phương thức.
Khi chúng ta gọi một phương thức và truyền một tham chiếu cho phương thức đó được gọi là truyền tham chiếu. Việc thay đổi giá trị của biến tham chiếu bên trong phương thức làm thay đổi giá trị gốc của nó.
Hãy xem ví dụ để hiểu rõ hơn.
Ví dụ về việc truyền giá trị (pass by value) trong java
Trong ví dụ này, giá trị data không bị thay đổi sau khi gọi phương thức change()
Output:
Code:
public class Operation1 {
int data = 50;
void change(int data) {
data = data + 100;
}
public static void main(String args[]) {
Operation1 op = new Operation1();
System.out.println("Trước khi thay đổi: " + op.data);
op.change(500);
System.out.println("Sau khi thay đổi: " + op.data);
}
}
Ví dụ về việc truyền tham chiếu (pass by reference) trong java
Trong ví dụ này, giá trị của biến data của đối tượng op bị thay đổi sau khi gọi phương thức change()
Output:
Code:
public class Operation2 {
int data = 50;
void change(Operation2 op) {
op.data = op.data + 100;
}
public static void main(String args[]) {
Operation2 op = new Operation2();
System.out.println("Trước khi thay đổi: " + op.data);
op.change(op); // truyền đối tượng
System.out.println("Sau khi thay đổi: " + op.data);
}
}
____________
7 Java frameworks phổ biến nhất hiện nay
________
FaCode là một seri học tập lập trình, lần này là FaCode ngôn ngữ Java, bằng mọi nỗ lực FaCode sẽ hoàn thành các mục tiêu đề ra trong FaCode Ngôn ngữ Java. Hãy đồng hành cùng FaCode Ngôn ngữ Java và theo dõi chúng tôi nhé. FaCode Ngôn ngữ Java rất mong nhận được lời góp ý từ phía cộng đồng. Share4Happy với phương châm chia sẻ để hạnh phúc.