// một cách lập thành và khởi tạo đối tượng Time
Time t1 =
new
Time();
t1.hour = 11;
t1.minute = 8;
t1.second = 3.14159;
System.out.println(t1);
// một cách khác để thực hiện việc tương tự
Time t2 =
new
Time(11, 8, 3.14159);
System.out.println(t2);
}
}
Trong main, l n đ u tiên kích ho t
ầ
ầ
ạ new, ta không c p cho đ i s nào, b i v y Java kích ho t constructor
ấ
ố ố
ở ậ
ạ
th nh t. Vài dòng phía d
i th c hi n gán giá tr cho các bi n th c th .
ứ
ấ
ướ
ự
ệ
ị
ế
ự
ể
L n th hai kích ho t
ầ
ứ
ạ new, ta c p các đ i s kh p v i các tham s c a constructor th hai. Cách kh i t o
ấ
ố ố
ớ
ớ
ố ủ
ứ
ở ạ
bi n th c th này g n gàng h n và hi u qu h n m t chút, song cách làm này có th khó đ c, b i nó
ế
ự
ể
ọ
ơ
ệ
ả ơ
ộ
ể
ọ
ở
không rõ ràng là giá tr nào đ
c gán cho bi n th c th nào.
ị
ượ
ế
ự
ể
11.6 In các đ i t
ng
ố ượ
K t qu c a ch
ng trình nêu trên là:
ế
ả ủ
ươ
Time@80cc7c0
Time@80cc807
Khi Java in giá tr c a ki u đ i t
ng do ng
i dùng đ nh nghĩa, nó s in tên ki u cùng m t mã th p l c
ị ủ
ể
ố ượ
ườ
ị
ẽ
ể
ộ
ậ ụ
phân đ c bi t riêng c a t ng đ i t
ng. Mã này b n thân nó ch ng có ý nghĩa gì; th c t nó khác nhau
ặ
ệ
ủ ừ
ố ượ
ả
ẳ
ự ế
tuỳ máy tính và th m chí tuỳ c nh ng l n ch y ch
ng trình. Nh ng có th nó giúp ích cho vi c g l i,
ậ
ả
ữ
ầ
ạ
ươ
ư
ể
ệ ỡ ỗ
trong tr
ng h p b n mu n theo dõi t ng đ i t
ng riêng r .
ườ
ợ
ạ
ố
ừ
ố ượ
ẽ
Đ in các đ i t
ng theo cách có ý nghĩa h n đ i v i ng
i dùng (ch không ph i đ i v i l p trình
ể
ố ượ
ơ
ố ớ
ườ
ứ
ả ố ớ ậ
viên), b n có th vi t m t ph
ng th c v i tên g i ki u nh
ạ
ể ế
ộ
ươ
ứ ớ
ọ
ể
ư printTime:
public static void
printTime(Time t) {
System.out.println(t.hour +
":"
+ t.minute +
":"
+ t.second);
}
Hãy so sánh ph
ng th c này v i phiên b n
ươ
ứ
ớ
ả printTime M c
ở ụ 3.10.
K t qu c a ph
ng th c này, n u ta truy n
ế
ả ủ
ươ
ứ
ế
ề t1 ho c
ặ t2 làm đ i s , s là
ố ố ẽ 11:8:3.14159. M c dù ta có th
ặ
ể
nh n ra đây là gi đ ng h , nh ng cách vi t này không h theo chu n quy đ nh. Ch ng h n, n u s phút
ậ
ờ ồ
ồ
ư
ế
ề
ẩ
ị
ẳ
ạ
ế ố
ho c s giây nh h n 10, ta s luôn d ki n r ng có s
ặ ố
ỏ ơ
ẽ
ự ể ằ
ố 0 đi tr c. Ngoài ra, có th ta còn mu n b ph n
ướ
ể
ố
ỏ
ầ
th p phân c a s giây đi. Nói cách khác, ta mu n k t qu ki u nh
ậ
ủ ố
ố
ế
ả ể
ư 11:08:03.
Trong đa s nh ng ngôn ng l p trình, có nhi u cách đ n gi n đ đi u khi n đ nh d ng đ u ra cho k t
ố
ữ
ữ ậ
ề
ơ
ả
ể ề
ể
ị
ạ
ầ
ế
qu s . Trong Java thì không có cách đ n gi n nào.
ả ố
ơ
ả
Java có nh ng công c m nh dành cho vi c in d li u đ
c đ nh d ng nh gi đ ng h và ngày tháng,
ữ
ụ ạ
ệ
ữ ệ
ượ ị
ạ
ư ờ ồ
ồ
đ ng th i cũng có công c đ di n gi i d li u vào đ
c đ nh d ng. Song th t không may là nh ng công
ồ
ờ
ụ ể ễ
ả ữ ệ
ượ ị
ạ
ậ
ữ