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:
So sánh ArrayList và Vector trong Java
Java Program to Check if a Directed Graph is a Tree or Not Using DFS
Java Program to Solve Tower of Hanoi Problem using Stacks
Concatenating Strings In Java
Introduction to Spliterator in Java
Java Program to Implement Hash Trie
Java Program to Find Maximum Element in an Array using Binary Search
REST Web service: Basic Authentication trong Jersey 2.x
Java Program to Implement Adjacency Matrix
An Intro to Spring Cloud Zookeeper
Introduction to Eclipse Collections
Java Program to Implement Binary Heap
Java Program to Implement TreeSet API
Immutable ArrayList in Java
Quick Guide to the Java StringTokenizer
Interface trong Java 8 – Default method và Static method
Flattening Nested Collections in Java
HttpClient Basic Authentication
Basic Authentication with the RestTemplate
Java Program to Implement Floyd-Warshall Algorithm
Java Program to Perform Matrix Multiplication
Adding Parameters to HttpClient Requests
Java InputStream to String
Java Program to implement Bi Directional Map
An Intro to Spring Cloud Vault
RegEx for matching Date Pattern in Java
Java Program to Implement Branch and Bound Method to Perform a Combinatorial Search
Spring Cloud AWS – EC2
Exploring the Spring 5 WebFlux URL Matching
Tạo chương trình Java đầu tiên sử dụng Eclipse
Java Program to Implement Ternary Tree
Java Program to Implement Segment Tree