Object là một trong những khái niệm cơ bản mà khi tìm hiểu về lập trình về Java chắc chắn bạn đã bắt gặp qua. Trong bài viết này hãy cùng Rikkei Academy tìm hiểu về Object trong Java là gì.
Object trong Java là gì?
Đối tượng (Object) là một thực thể cụ thể của một lớp (Class) trong Java. Nó bao gồm các thuộc tính và phương thức và được sử dụng để đại diện cho một đối tượng thực tế trong thế giới thực.
Object trong Java được tạo ra từ lớp thông qua quá trình gọi phương thức khởi tạo. Cấu trúc và tính năng của đối tượng được xác định bởi lớp. Vì vậy, Object trong Java có mối quan hệ chặt chẽ với lớp.
Xem thêm: Lộ trình học lập trình Java cơ bản
Đặc điểm của Object trong Java là gì?
Mỗi đối tượng Java được đặc trưng bởi ba đặc điểm sau:

Định danh
Định danh là một đặc điểm được sử dụng để xác định duy nhất đối tượng đó – chẳng hạn như một số ID ngẫu nhiên hoặc địa chỉ trong bộ nhớ. ID này được ẩn đối với user bên ngoài. Tuy nhiên nó được sử dụng trong nội bộ máy ảo JVM để định danh từng đối tượng. Các đối tượng đơn giản hơn như một chiếc bật lửa có thể chỉ có hai trạng thái (bật và tắt) và hai hành vi (bật, tắt), nhưng chúng vẫn có một định danh (ví dụ: ID sản xuất của sản phẩm đó).
Trạng thái
Các trạng thái của một đối tượng Java được lưu trữ trong các trường biểu thị các đặc điểm riêng lẻ của đối tượng đó. Ví dụ, trong một trò chơi bắn súng góc nhìn thứ nhất, một khẩu súng lục với 8 viên đạn sẽ có tám trạng thái: một trạng thái cho mỗi viên đạn (ví dụ: 8 viên đạn, 7 viên đạn, 5 viên đạn, v.v.), cộng với một trạng thái khác khi nó hết đạn (0 viên đạn).
Hành vi
Hành vi của đối tượng được trình bày thông qua các phương thức hoạt động trên trạng thái bên trong của nó. Ví dụ, hành vi “bắn” sẽ thay đổi trạng thái của khẩu súng từ “8 viên đạn” sang “7 viên đạn” và tiếp tục như vậy mỗi khi người chơi bắn với khẩu súng.
>> Đọc thêm: Đang Tìm Hiểu Về Class Trong Java? Đây Là Những Gì Bạn Cần!
Cách tạo Object trong Java là gì?
Bên cạnh sử dụng từ khóa “new” để tạo đối tượng trong Java, Rikkei Academy sẽ giới thiệu thêm cho bạn có một số cách để tạo đối tượng như sau:
Sử dụng từ khóa “new”
Đây là cách phổ biến nhất để tạo đối tượng. Để tạo một đối tượng mới, ta sử dụng từ khóa “new” cùng với tên lớp và các tham số (nếu có) cho hàm khởi tạo của lớp đó. Ví dụ:
myClass obj = new MyClass(); // tạo một đối tượng mới từ lớp MyClass |
Sử dụng phương thức cung cấp đối tượng (Factory Method)
Phương thức này phù hợp với các trường hợp tạo đối tượng phức tạp, khi cần xử lý nhiều mã nguồn để tạo ra đối tượng hoặc cần kiểm soát quá trình tạo đối tượng. Phương thức này có thể được sử dụng thay cho từ khóa “new” để tạo đối tượng. Ví dụ:
Date today = Date.today(); // tạo một đối tượng Date sử dụng phương thức today() |
Trong trường hợp này, phương thức today() là một phương thức cung cấp đối tượng và trả về một đối tượng Date mới.
Sử dụng phương thức newInstance() của lớp Class
Phương thức newInstance() cho phép tạo đối tượng bằng cách gọi hàm khởi tạo mặc định của lớp, phù hợp với trường hợp tạo đối tượng tại thời điểm thực thi của chương trình, khi tên lớp được cung cấp động hoặc không biết trước. Ví dụ:
MyClass obj = MyClass.class.newInstance(); // tạo một đối tượng mới từ lớp MyClass |
Sử dụng phương thức clone()
Phương thức clone() được sử dụng để tạo ra một bản sao của đối tượng hiện tại. Lớp của đối tượng cần phải triển khai giao diện Cloneable để sử dụng phương thức này. Ví dụ:
MyClass obj1 = new MyClass();
MyClass obj2 = obj1.clone(); // tạo một bản sao của đối tượng obj1 |
Sử dụng Deserialization
Deserialization là quá trình chuyển đổi đối tượng từ định dạng byte thành đối tượng Java, phù hợp với các trường hợp tạo đối tượng từ dữ liệu được lưu trữ hoặc truyền qua mạng. Khi một đối tượng được khôi phục từ định dạng byte, nó được tạo ra bằng cách gọi hàm khởi tạo mặc định của lớp. Ví dụ:
FileInputStream fileIn = new FileInputStream(“MyObject.ser”);
ObjectInputStream in = new ObjectInputStream(fileIn); MyClass obj = (MyClass) in.readObject(); // tạo một đối tượng MyClass từ file MyObject.ser |
Các bước khởi tạo Object trong Java là gì?
Để tạo một đối tượng Java, ta cần thực hiện ba bước như sau:

Khai báo đối tượng trong Java
Đầu tiên, ta cần khai báo đối tượng bằng cách chỉ định tên của đối tượng và kiểu dữ liệu của nó. Ví dụ:
Person person; |
Ở đây, chúng ta đang khai báo một biến person của kiểu dữ liệu Person, có nghĩa là chúng ta đã tạo một tham chiếu (reference) đến một đối tượng của kiểu Person.
Khởi tạo đối tượng trong Java
Sau khi khai báo đối tượng, chúng ta tiến hành khởi tạo đối tượng. Ở đây, ta sẽ sử dụng các cách tạo đối tượng ở trên cùng với tên lớp và các tham số (nếu có) cho hàm khởi tạo của lớp đó. Ví dụ:
person = new Person(); |
Ở đây chúng ta sử dụng từ khóa “new” và tên lớp Person để khởi tạo một đối tượng mới của lớp Person. Điều này có nghĩa, chúng ta đã tạo một đối tượng mới của lớp Person và gán đối tượng đó cho biến person đã khai báo trước đó.
Khởi tạo giá trị cho đối tượng
Cuối cùng, ta cần khởi tạo giá trị cho các thuộc tính của đối tượng bằng cách sử dụng các phương thức setter hoặc truy cập trực tiếp đến thuộc tính của đối tượng. Ví dụ:
person.setName(“John”);
person.setAge(30); |
Ở đây, chúng ta đã thiết lập giá trị “John” cho thuộc tính Name của đối tượng person và giá trị 30 cho thuộc tính Age của đối tượng đó
Demo Code
Từ các ví dụ trên, ta có một ví dụ đơn giản về cách tạo Object trong Java như sau:
public class Person {
private String name; private int age; public Person() { this.name = “”; this.age = 0; } public void setName(String name) { this.name = name; } public void setAge(int age) { this.age = age; } public String getName() { return this.name; } public int getAge() { return this.age; } } public class Main { public static void main(String[] args) { Person person = new Person(); // khởi tạo đối tượng Person person.setName(“John”); // thiết lập giá trị cho thuộc tính name person.setAge(30); // thiết lập giá trị cho thuộc tính age System.out.println(“Name: ” + person.getName()); // in ra giá trị của thuộc tính name System.out.println(“Age: ” + person.getAge()); // in ra giá trị của thuộc tính age } } |
Kết quả khi chạy chương trình sẽ là:
Name: John
Age: 30 |
Các phương thức của Object trong Java
Các phương thức của lớp Object cung cấp các tính năng cơ bản cho các đối tượng trong Java, giúp cho việc làm việc với các đối tượng trở nên dễ dàng và hiệu quả hơn.
Phương thức |
Mô tả |
public Object clone() | Tạo bản sao của đối tượng |
public boolean equals(Object obj) | So sánh đối tượng với đối tượng khác |
protected void finalize() | Được gọi trước khi đối tượng bị thu hồi bởi bộ thu gom rác |
public final Class<?> getClass() | Trả về đối tượng Class của đối tượng |
public int hashCode() | Trả về mã băm của đối tượng |
public final void notify() | Thông báo cho một luồng đang chờ đợi trên đối tượng |
public final void notifyAll() | Thông báo cho tất cả các luồng đang chờ đợi trên đối tượng |
public String toString() | Trả về chuỗi đại diện của đối tượng |
public final void wait() | Chờ một luồng khác gọi notify() hoặc notifyAll() trên đối tượng |
public final void wait(long timeout) | Chờ một luồng khác gọi notify() hoặc notifyAll() trên đối tượng trong khoảng thời gian nhất định |
public final void wait(long timeout, int nanos) | Chờ một luồng khác gọi notify() hoặc notifyAll() trên đối tượng trong khoảng thời gian nhất định, kèm theo số nano giây |
Kết luận
Trên đây là bài viết của Rikkei Academy về Object trong Java là gì. Hy vọng qua bài viết này đã giúp bạn hiểu rõ hơn về Object trong Java và cách tạo đối tượng. Hãy cùng thực hành và trải nghiệm để tăng khả năng lập trình của mình nhé!
Nếu bạn đang muốn tìm một địa chỉ uy tín đào tạo về lập trình, tham khảo ngay Rikkei Academy. Rikkei Academy cung cấp các khóa học lập trình từ cơ bản đến nâng cao, phù hợp ngay cả cho người mới bắt đầu, với lộ trình tinh gọn, thực tiễn và đội ngũ giảng viên nhiều năm kinh nghiệm giảng dạy giúp bạn lập trình trong thời gian sớm nhất. Đăng ký để nhận tư vấn miễn phí!
Nguồn tham khảo:
https://www.techopedia.com/definition/24339/java-object
https://www.softwaretestinghelp.com/java-class-vs-object/#Class_Vs_Object_In_Java