Rectangle box1 =
new
Rectangle(0, 0, 100, 200);
Rectangle box2 = box1;
t o nên m t bi u đ tr ng thái trông nh sau:
ạ
ộ
ể
ồ ạ
ư
box1 và box2 cùng ch đ n m t đ i t
ng. Nói cách khác, đ i t
ng này có hai tên g i,
ỉ ế
ộ ố ượ
ố ượ
ọ box1 và box2.
Vi c ng
i nào đó dùng hai tên đ
c g i là
ệ
ườ
ượ ọ
aliasing (dùng bí danh). V i đ i t
ng cũng nh v y.
ớ ố ượ
ư ậ
Khi hai bi n đ
c dùng bí danh, b t kì s thay đ i nào nh h
ng t i bi n này thì cũng nh h
ng t i
ế
ượ
ấ
ự
ổ
ả
ưở
ớ
ế
ả
ưở
ớ
bi n kia. Ch ng h n:
ế
ẳ
ạ
System.out.println(box2.width);
box1.grow(50, 50);
System.out.println(box2.width);
Dòng l nh th nh t in ra
ệ
ứ
ấ
100, v n là b r ng c a
ố
ề ộ
ủ Rectangle đ c tham chi u qua bi n
ượ
ế
ế box2. Dòng th
ứ
hai kích ho t ph
ng th c
ạ
ươ
ứ grow lên box1, đ m r ng
ể ở ộ Rectangle thêm 50 đi m nh theo m i chi u (hãy
ể ả
ỗ
ề
đ c tài li u đ bi t thêm thông tin). Hi u ng đ
c cho th y hình v d
i đây:
ọ
ệ
ể ế
ệ ứ
ượ
ấ ở
ẽ ướ
B t k thay đ i nào th c hi n đ i v i
ấ ể
ổ
ự
ệ
ố ớ box1 thì cũng nh h ng đ n
ả
ưở
ế box2. Do v y, giá tr đ c in ra b i
ậ
ị ượ
ở
dòng l nh th ba là
ệ
ứ
200, b r ng c a hình ch nh t sau khi m r ng. (Nói thêm, vi c các to đ c a
ề ộ
ủ
ữ
ậ
ở ộ
ệ
ạ ộ ủ
m t
ộ Rectangle nh n giá tr âm là hoàn toàn h p l .)
ậ
ị
ợ ệ
T ví d đ n gi n này b n có th th y r ng mã l nh có ch a bí d ng nhanh chóng khi n ta nh m l n và
ừ
ụ ơ
ả
ạ
ể ấ ằ
ệ
ứ
ạ
ế
ầ
ầ
có th khó g l i. Nói chung, nên tránh dùng bí danh ho c dùng th t c n th n.
ể
ỡ ỗ
ặ
ậ ẩ
ậ
9.9 null
Khi b n t o nên m t bi n đ i t
ng, hãy nh r ng b n đang t o nên m t
ạ ạ
ộ
ế
ố ượ
ớ ằ
ạ
ạ
ộ tham chi u
ế đ n đ i t ng.
ế
ố ượ
Tr
c khi b n khi n cho m t bi n ch t i đ i t
ng, thì giá tr c a bi n v n là
ướ
ạ
ế
ộ
ế
ỉ ớ ố ượ
ị ủ
ế
ẫ
null. null là m t giá tr đ c
ộ
ị ặ
bi t (và cũng là m t t khoá trong Java) có nghĩa là “không có đ i t
ng.”
ệ
ộ ừ
ố ượ
L i khai báo
ờ
Point blank; thì t
ng đ
ng v i l nh kh i t o sau
ươ
ươ
ớ ệ
ở ạ
Point blank =
null
;
và đ
c bi u di n b i bi u đ tr ng thái sau:
ượ
ể
ễ
ở
ể
ồ ạ
Giá tr
ị null đ c bi u th b ng m t hình vuông nh không kèm theo mũi tên.
ượ
ể
ị ằ
ộ
ỏ
N u b n c th dùng m t đ i t
ng null, qua vi c truy c p m t bi n th c th hay kích ho t m t
ế
ạ ố ử
ộ ố ượ
ệ
ậ
ộ
ế
ự
ể
ạ
ộ