30/09/2018, 18:49
Anh em tư vấn về tham chiếu bên java làm sao?
ví dụ mình có hàm
void swap(int &a, int &b)
{
int c = a;
a = b ;
b = c;
}
cái này của bên c++ , qua java không truyền đc tham chiếu &a , &b nữa vậy giờ làm sao bây giờ hả mọi người
Bài liên quan
hình như đặt biến toàn cuc là đc
How to write a basic swap function in Java
Mình swap bằng cách thay đổi 2 giá trị của 2 đối tượng truyền vào
Dùng cách này đúng không @truongphamit nhưng sao mình gọi hàm swap thì nó báo lỗi gì í giờ không biết sửa sao nữa??
giờ mình cần có hàm swap để sắp xếp lại mảng
mình mới học java nên lạ lẫm lắm chưa học hướng đối tượng nữa chứ đừng nói , qua java thật khó khăn đối với mình các cậu có thể nói rõ hơn không
Ví dụ Lớp SinhVien của bạn có thuộc tính name, Bạn viết các phương thức getter, setter cho nó. Trong hàm swap bạn thực hiện thay đổi giá trị bằng cách gọi các phương thức getter và setter đó. Lúc này khi ra khỏi phương thức giá trí của 2 SinhVien đã được thay đổi
Bạn xem mình làm như thế có cần chỉnh sửa gì không. Nhưng đây chỉ có 1 thuộc tính nếu nhiều thì cũng phải get, set hết luôn thì hơi cực
Trong java k có con trỏ mà tất cả object đều là con trỏ hết bạn ạ. Nên truyền tham chiều là truyền object đấy
Cho mình hỏi trong java nếu truyền vào 1 đối tượng thì thay đổi trong hàm đối tưởng đó thay đổi theo hả.
Ví dụ: class lopgt {public int x=0;}
void tanggt(lopx x){x.x++;}
lopgt a = new lopgt();
tanggt(a);
vậy phải không mọi người?
Chính xác như bạn nghĩ. Tức là khi bạn truyền 1 object vào trong 1 function (method) nào đó thì bản thân cái object đấy không thay đổi nhưng các trạng thái của nó thì có thể thay đổi (các trường).
Cái này được lưu ý khi lập trình mà. Nhất là phần calendar mình thường hay bị lỗi như thế này.
em đọc bài viết của a để hiểu hơn nhé
Ở dưới cùng bài viết phần Reference Copy nói đến vấn đề của em.
Có gì không hiểu thì inbox anh