FaCode Ngôn ngữ Java truyền giá trị và tham chiếu (pass-by-value và pass-by-reference) trong java

FaCode Ngôn ngữ Java

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()

FaCode Ngôn ngữ Java

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()

FaCode Ngôn ngữ Java

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);

    }

}
FaCode Ngôn ngữ Java

____________

Khóa học lập trình

7 Java frameworks phổ biến nhất hiện nay

xem thêm

________

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.

Related posts

FaCode Ngôn ngữ Java những câu hỏi phỏng vấn về Hibernate trong Java

FaCode Ngôn ngữ Java những câu hỏi phỏng vấn về JSP trong Java

FaCode Ngôn ngữ Java những câu hỏi phỏng vấn servlet.