Java: Lớp Object

Lớp Object là gốc của hệ thống phân cấp lớp. Mọi lớp đều có Object như một lớp cha. Tất cả các đối tượng, bao gồm cả mảng, thực hiện các phương thức của lớp Object. Bảng sau đây liệt kê một số phương thức thường được sử dụng của lớp Object.

Phương thức

Mô tả

protected Object clone()

Tạo và trả về bản sao của đối tượng hiện thời.

boolean equals(Object obj)

Kiểm tra 2 đối tượng có bằng nhau không.

protected void finalize()

Gọi bộ dọn rác trên một đối tượng khi bộ dọn rác xác định rằng không có tham chiếu tới đối tượng đó.

Class<? extends Object> getClass()

Trả về lớp đang chạy của một đối tượng.

int hashCode()

Trả về mã băm cho đối tượng.

void notify()

“Đánh thức” một thread đang chờ trên trình điều khiển của đối tượng hiện thời.

void notifyAll()

“Đánh thức” tất cả các thread đang chờ trên trình điều khiển của đối tượng hiện thời.

String toString()

Trả về chuỗi thể hiện đối tượng hiện thời.

void wait()

Yêu cầu thread hiện thời chờ cho đến khi thread khác gọi phương thức notify() hoặc notifyAll() cho đối tượng hiện thời.

void wait(long timeout)

Yêu cầu thread hiện thời chờ cho tới khi hoặc là thread khác gọi phương thức notify() hoặc notifyAll(), hoặc một khoảng thời gian cụ thể đã trôi qua.

void wait(long timeout, int nanos)

Yêu cầu thread hiện thời chờ cho tới khi hoặc là thread khác gọi phương thức notify() hoặc notifyAll(), hoặc một số thread khác làm gián đoạn thread hiện thời, hoặc một khoảng thời gian nhất định đã trôi qua.

Lưu ý – Thread là một luồng thực thi trong một chương trình. JVM cho phép một ứng dụng có nhiều luồng thực thi chạy đồng thời.

Sau đây là ví dụ về một số phương thức của lớp Object.

package

v1study.com

;

class

ObjectClass

{

Integer

num

;

public

ObjectClass

() { }

public

ObjectClass

(

Integer

num) {

this

.

num

= num; } // phương thức dùng đến phương thức toString()

public void

getStringForm

() {

System

.out.println(

"String form of num is: "

+

num

.toString()); } }

public class

TestObject

{

public static void

main

(

String

[] args) { // tạo các đối tượng của lớp ObjectClass

ObjectClass obj1

=

new

ObjectClass(

1234

);

ObjectClass

obj2 =

new

ObjectClass(

1234

);

obj1

.getStringForm(); // kiểm tra xem các đối tượng có bằng nhau không

if

(

obj1

.equals(obj2))

System

.out.println(

"Objects are equal"

);

else

System

.out.println(

"Objects are not equal"

); obj2 =

obj1

; // assigning reference of obj1 to obj2 // kiểm trả xem các đối tượng có bằng nhau không

if

(

obj1

.equals(obj2))

System

.out.println(

"Objects are equal"

);

else

System

.out.println(

"Objects are not equal"

); } }

Ví dụ trên thể hiện việc sử dụng các phương thức toString() và equals() của lớp Object. Kết quả hiển thị như hình dưới đây:

Kết quả toString() và equals()