Java.lang.Object lớp là gốc hoặc lớp cha của hệ thống phân cấp lớp, có trong gói java.lang . Tất cả các lớp được xác định trước và các lớp do người dùng xác định là các lớp con từ Đối tượng lớp học.
Tại sao lớp đối tượng là lớp cha
Khả năng sử dụng lại
- Mọi đối tượng đều có 11 thuộc tính chung, các thuộc tính này phải được triển khai bởi mọi nhà phát triển Java.
- Để giảm bớt gánh nặng cho nhà phát triển, SUN đã phát triển một lớp có tên là Đối tượng bằng cách triển khai tất cả 11 thuộc tính này với 11 phương thức.
- Tất cả các phương thức này đều có logic chung chung cho tất cả các lớp con, nếu logic này không đáp ứng yêu cầu của lớp con thì lớp con có thể ghi đè nó
Đa hình thời gian chạy
- Để đạt được tính đa hình thời gian chạy để chúng ta có thể viết một phương thức duy nhất để nhận và gửi bất kỳ loại đối tượng lớp nào dưới dạng đối số và kiểu trả về.
Các chức năng chung của mọi đối tượng lớp
So sánh hai đối tượng
- public boolean bằng (Object obj)
Truy xuất mã băm
- public int hashcode ()
Truy xuất tham chiếu đối tượng lớp thời gian chạy
- public Final Class getClass ()
Truy xuất thông tin đối tượng ở định dạng Chuỗi
- public String toString ()
Đối tượng nhân bản
- Đối tượng được bảo vệ clone () ném CloneNotSupportedException
Mã dọn dẹp đối tượng / mã giải phóng tài nguyên
- bảo vệ void finalize () ném Có thể ném
Để đợi chuỗi hiện tại cho đến khi một chuỗi khác gọi thông báo ()
- public Final void wait () ném InterruptException
Để đợi luồng hiện tại cho đến khi luồng khác gọi thông báo () một khoảng thời gian cụ thể
- công khai cuối cùng trống chờ đợi (thời gian chờ lâu) ném ra InterruptException
Để đợi luồng hiện tại cho đến khi luồng khác gọi thông báo () một khoảng thời gian cụ thể
- công khai cuối cùng trống chờ đợi (thời gian chờ lâu, int nano) ném InterruptException
Thông báo về tính khả dụng của khóa đối tượng đối với chuỗi chờ
- khoảng trống cuối cùng công khai thông báo ()
Thông báo về tính khả dụng của khóa đối tượng cho các chuỗi đang chờ
- công khai cuối cùng vô hiệu thông báoAll ()
Ví dụ
class Thing extends Object implements Cloneable { public String id; public Object clone() throws CloneNotSupportedException { return super.clone(); } public boolean equals(Object obj) { boolean result = false; if ((obj!=null) && obj instanceof Thing) { Thing t = (Thing) obj; if (id.equals(t.id)) result = true; } return result; } public int hashCode() { return id.hashCode(); } public String toString() { return "This is: "+id; } } public class Test { public static void main(String args[]) throws Exception { Thing t1 = new Thing(), t2; t1.id = "Raj"; t2 = t1; // t1 == t2 and t1.equals(t2) t2 = (Thing) t1.clone(); // t2!=t1 but t1.equals(t2) t2.id = "Adithya"; // t2!=t1 and !t1.equals(t2) Object obj = t2; System.out.println(obj); //Thing = Adithya } }
Đầu ra
This is: Adithya