Nội dung chính
Lớp Object trong java
Mặc định lớp Object là lớp cha của tất cả các lớp trong java. Nói cách khác nó là một lớp cáo nhất trong java.
Sử dụng lớp Object là hữu ích nếu bạn muốn tham chiếu bất kỳ đối tượng nào mà bạn chưa biết kiểu dữ liệu của đối tượng đó. Chú ý rằng biến tham chiếu của lớp cha có thể tham chiếu đến đối tượng của lớp con được gọi là upcasting.
Ví dụ: giả sử phương thức getObject() trả về một đối tượng nhưng nó có thể là bất kỳ kiểu nào như Employee,Student, ... chúng ta có thể sử dụng biến tham chiếu của lớp Object để tham chiếu tới đối tượng đó.
Object obj=getObject(); // chúng ta không biết đối tượng gì được trả về từ phương thức này.
Lớp Object cung cấp một vài cách xử lý chung cho tất cả các đối tượng như đối tượng có thể được so sánh, đối tượng có thể được cloned, đối tượng có thể được notified...
Các phương thức của lớp Object
Lớp Object cung cấp các phương thức như trong bảng sau:
Phương thức | Mô tả |
---|---|
public final Class getClass() | trả về đối tượng lớp Class của đối tượng hiện tại. Từ lớp Class đó có thể lấy được các thông tin metadata của class hiện tại. |
public int hashCode() | trả về số hashcode cho đối tượng hiện tại. |
public boolean equals(Object obj) | so sánh đối tượng đã cho với đối tượng hiện tại. |
protected Object clone() throws CloneNotSupportedException | tạo và trả về bản sao chép (clone) của đối tượng hiện tại. |
public String toString() | trả về chuỗi ký tự đại diện của đối tượng hiện tại. |
public final void notify() | đánh thức một luồng, đợi trình giám sát của đối tượng hiện tại. |
public final void notifyAll() | đánh thức tất cả các luồng. đợi trình giám sát của đối tượng hiện tại. |
public final void wait(long timeout)throws InterruptedException | làm cho Thread hiện tại đợi trong khoảng thời gian là số mili giây cụ thể, tới khi Thread khác thông báo (gọi phương thức notify() hoặc notifyAll()). |
public final void wait(long timeout,int nanos)throws InterruptedException | làm cho Thread hiện tại đợi trong khoảng thời gian là số mili giây và nano giây cụ thể, tới khi Thread khác thông báo (gọi phương thức notify() hoặc notifyAll()). |
public final void wait()throws InterruptedException | làm Thread hiện tại đợi, tới khi Thread khác thông báo (gọi phương thức notify() hoặc notifyAll()). |
protected void finalize()throws Throwable | Được gọi bởi Garbage Collector trước khi đối tượng bị dọn rác. |