Truyền giá trị và tham chiếu trong Java

Truyền giá trị và tham chiếu là gì? Nguyên lí hoạt động như thế nào? Mời bạn đọc cùng eLib tìm hiểu qua bài viết dưới đây.

Truyền giá trị và tham chiếu trong Java

1. Truyền giá trị là gì?

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.

2. Ví dụ về gọi bởi giá trị trong Java

Trong trường hợp gọi bởi giá trị, giá trị ban đầu không bị thay đổi. Bạn theo dõi ví dụ đơn giản sau:

class Vidu {
  int data = 50;

  void change(int data) {
    data = data + 100; //cac thay doi se chi o trong bien cuc bo  
  }

  public static void main(String args[]) {
    Vidu op = new Vidu();

    System.out.println("Truoc khi thay doi " + op.data);
    op.change(500);
    System.out.println("Sau khi thay doi " + op.data);

  }
}

Chạy chương trình Java trên sẽ cho kết quả dạng:

Output:Truoc khi thay doi 50
       Sau khi thay doi 50

3. Ví dụ khác về việc truyền tham chiếu

Trong gọi bởi tham chiếu, giá trị ban đầu bị thay đổi nếu chúng ta tạo thay đổi trong phương thức được gọi. Nếu chúng ta truyền đối tượng thay cho bất cứ giá trị kiểu gốc nào, thì giá trị ban đầu sẽ bị thay đổi. Trong ví dụ này, chúng ta đang truyền đối tượng như là giá trị. Bạn theo dõi ví dụ đơn giản sau:

 
class Vidu2 {
  int data = 50;

  void change(Vidu2 op) {
    op.data = op.data + 100; //Cac thay doi se la trong bien instance  
  }

  public static void main(String args[]) {
    Vidu2 op = new Vidu2();

    System.out.println("Truoc khi thay doi " + op.data);
    op.change(op); //truyen doi tuong  
    System.out.println("Sau khi thay doi " + op.data);

  }
}
Output:Truoc khi thay doi 50
       Sau khi thay doi 150

Trên đây là bài viết về truyền giá trị và tham chiếu giá trị trong Java của eLib.VN. Để hiểu rõ hơn phương thức hoạt động của cách gọi giá trị thì bạn đọc nên tham khảo nhiều tài liệu và thực hành nhiều hơn nữa nhé. Chúc các bạn thành công!

Ngày:30/09/2020 Chia sẻ bởi:Denni Trần

CÓ THỂ BẠN QUAN TÂM