Table of Contents
1. Truyền giá trị (pass by value) 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.
Ví dụ giá trị data không bị thay đổi sau khi gọi phương thức change():
class Operation {
int data = 50;
void change(int data) {
data = data + 100; // changes will be in the local variable only
}
public static void main(String args[]) {
Operation op = new Operation();
System.out.println("before change " + op.data);
op.change(500); // passing value
System.out.println("after change " + op.data);
}
}
Kết quả:
before change 50 after change 50
2. Truyền tham chiếu (pass by reference) trong Java
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ó.
Ví dụ 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():
class Operation {
int data = 50;
void change(Operation op) {
op.data = op.data + 100;// changes will be in the instance variable
}
public static void main(String args[]) {
Operation op = new Operation();
System.out.println("before change " + op.data);
op.change(op); // passing object
System.out.println("after change " + op.data);
}
}
Kết quả:
before change: 50 after change: 150
Related posts:
Java Program to Implement Hash Tables
Java Program to Implement the Bin Packing Algorithm
Serialize Only Fields that meet a Custom Criteria with Jackson
Introduction to Spring Data JDBC
Java Program to Compute Determinant of a Matrix
Hướng dẫn Java Design Pattern – Flyweight
Object cloning trong java
Java Multi-line String
Converting Between an Array and a Set in Java
Java Program to Implement Suffix Array
Serve Static Resources with Spring
Java Program to Implement Skip List
HandlerAdapters in Spring MVC
Life Cycle of a Thread in Java
Java Program to Perform Complex Number Multiplication
Java 8 Collectors toMap
Marker Interface trong Java
Java Program to Implement RoleUnresolvedList API
Java Program to Find the Connected Components of an UnDirected Graph
Hướng dẫn sử dụng Java Generics
Serverless Functions with Spring Cloud Function
Spring Boot - Admin Server
Java Program to Implement Variable length array
Java Program to Find the Minimum Element of a Rotated Sorted Array using Binary Search approach
Java – Generate Random String
New Features in Java 8
JUnit5 @RunWith
Java Program to Find Number of Articulation points in a Graph
Batch Processing with Spring Cloud Data Flow
Java Program to Implement Shell Sort
HashSet trong java
Java Program to Check if an UnDirected Graph is a Tree or Not Using DFS