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 Splay Tree
Java 8 – Powerful Comparison with Lambdas
Java Program to Perform Left Rotation on a Binary Search Tree
The Difference Between Collection.stream().forEach() and Collection.forEach()
Java Program to Solve Knapsack Problem Using Dynamic Programming
Java Program to Check if it is a Sparse Matrix
Spring Boot - Web Socket
Java Program to Perform Quick Sort on Large Number of Elements
Semaphore trong Java
Lập trình đa luồng với Callable và Future trong Java
Java Program to Implement Horner Algorithm
Guava CharMatcher
Java Program to Implement Skip List
Một số từ khóa trong Java
Hướng dẫn Java Design Pattern – Flyweight
Java Program to Implement Ternary Search Algorithm
Java Program to Create a Random Linear Extension for a DAG
Java Program to Implement Binomial Tree
Test a REST API with Java
Lập trình đa luồng trong Java (Java Multi-threading)
Consumer trong Java 8
Java Program to Implement Queue using Linked List
Mockito and JUnit 5 – Using ExtendWith
Java Program to Implement Jarvis Algorithm
Spring – Injecting Collections
Các nguyên lý thiết kế hướng đối tượng – SOLID
String Joiner trong Java 8
Java Program to Implement Ternary Tree
Handling Errors in Spring WebFlux
Java Program to Implement Sorted List
Introduction to Spring Data JPA
Spring Boot - Tomcat Port Number