Chào bạn đến với phanlamcoder.blogspot.com!
Như đã nói trong bài viết Tham trị (pass-by-value) và tham chiếu (pass-by-reference) trong Java
thì java không cho phép truyền tham chiếu. Vậy làm thế nào để thay đổi giá trị của một biến thông qua hàm?
Tuy Java chỉ cho phép truyền tham trị, nhưng đặc biệt, tham trị được truyền của kiểu dữ liệu object là địa chỉ mà object đó tham chiếu đến. Như vậy, ta có thể thay đổi giá trị của một biến thông thường bằng cách đặt nó trong kiểu dữ liệu object như sau:
class Obj
{
int a;
public void setA(int a)
{
this.a = a;
}
public int getA()
{
return a;
}
}
public class Test {
{
int a;
public void setA(int a)
{
this.a = a;
}
public int getA()
{
return a;
}
}
public class Test {
public static void main(String[] args) {
Obj = new Obj();
a.setA(5);
System.out.println("Before"+a.getA()); //a=5.
Change(a);
System.out.println("After: "+a.getA()); //a=0
}
static void Change(objA obj)
{
Obj.setA(0);
System.out.println("Change: "+Obj.getA()); //a=0
}
}
Chúc các bạn học tốt!
Góp ý tại mục bình luận bên dưới 💓