Trên thực tế, đó là một ví dụ lý tưởng, vì có hai tiêu chuẩn Java ngày lớp khác nhau: java.util .Date và java. sql .Date.
Làm cách nào để biết thiết bị nào cần sử dụng? Đơn giản. Phương pháp getDate() được khai báo như là một phần của định nghĩa của lớp Thing, và một phần của tuyên bố đó là returntype của nó:
public java.util.Date getDate() {
return this.date;
}
Tất nhiên, nếu bạn có một nhập khẩu trong định nghĩa của lớp Thing - và nó không phải là mơ hồ, bạn chỉ cần nói:
public Date getDate() {
Nếu bạn đã giải mã nhị phân của lớp Thing, bạn sẽ thấy chữ ký phương pháp của phương pháp getDate, và nó bao gồm các tên lớp đầy đủ (bao gồm cả gói) của kiểu trả về.
An nhập chỉ đơn giản là cách nói cho trình biên dịch (các) gói bạn muốn giả định khi tham chiếu đến các lớp không có trình độ rõ ràng. Danh sách nhập khẩu sẽ được quét bất cứ khi nào một tên lớp không đủ tiêu chuẩn được nhìn thấy, và các gói sẽ được tìm kiếm. Nếu không có sự mơ hồ (chẳng hạn như nhập cả java.util.date và java.sql.Date), thì lớp đó sẽ được sử dụng. Nếu bạn có thể xác định lớp một cách ngầm định, hoặc nếu tên lớp hoàn toàn đủ điều kiện, bạn không cần phải nhập khẩu.
Nguồn
2009-04-24 16:37:13
Bạn không có nghĩa là 'System.out.println (Thing.getDate(). GetTime());' – JeeBee
@JeeBee: Nó sẽ hoạt động như văn bản, nhưng bạn nói đúng là nó gây hiểu lầm (tất cả mọi thứ sẽ có cùng ngày). –
Rất tiếc, cảm ơn - đã sửa. getDate() bắt đầu như một phương thức cá thể và tôi quên thay đổi cuộc gọi khi tôi đang viết. Bài học để tự chạy qua javac trước khi đăng bài. – jjujuma