Biến primitive và biến tham chiếu trong tham số của phương thức

Các bạn đã được tìm hiểu về biến primitive trong Java ở bài viết nàybài viết này, biến tham chiếu thì ở bài viết này. Trong bài viết này, chúng ta sẽ tìm hiểu thêm về hai loại biến này khi chúng được truyền vào một phương thức dưới dạng tham số các bạn nhé!

Truyền biến primitive vào một phương thức

Khi chúng ta truyền một biến primitive vào một phương thức thì giá trị của nó sẽ được copy và truyền vào cho phương thức đó. Điều này có nghĩa, giá trị của biến primitive này sẽ không thay đổi khi kết thúc thực thi phương thức mặc dù có thể trong quá trình thực thi phương thức này, chúng ta có thay đổi giá trị của nó.

Hãy xem xét đoạn code ví dụ sau đây nhé các bạn:

Kết quả:

Trong ví dụ này, chúng ta đã truyền cho phương thức increase() trong class Example một biến primitive n kiểu int. Phương thức này đã tăng giá trị của biến primitive mà chúng ta truyền vào. Nhưng rõ ràng các bạn thấy, giá trị của biến number trong đối tượng Example vẫn không thay đổi sau khi được truyền vào phương thức increase().

Truyền biến tham chiếu vào một phương thức

Giả sử, mình có class Student với nội dung như sau:

Giờ mình sẽ làm một ví dụ để sử dụng đối tượng Student này trong một phương thức như sau:

Trong ví dụ trên, mình đã sử dụng đối tượng Student trong phương thức swap() với ý định hoán đổi sự tham chiếu của hai biến cho nhau. Các bạn hãy xem kết quả như sau:

Các bạn thấy đó, sự tham chiếu của hai biến student1 và student2 vẫn không có sự thay đổi sau khi phương thức swap() được thực thi.

Nhưng sẽ như thế nào nếu mình thay đổi trạng thái của đối tượng Student, các bạn hãy xem xét ví dụ sau nhé!

Kết quả:

Các bạn thấy đó, nếu mình thay đổi trạng thái của đối tượng thì sau khi phương thức được thực thi, trạng thái của đối tượng cũng thay đổi theo.

5/5 - (1 bình chọn)

Add Comment