Có năm cách khác nhau để tạo một đối tượng trong Java,
1. Sử dụng newtừ khóa → constructor được gọi
Employee emp1 = new Employee();
2. Sử dụng newInstance()phương thứcClass → constructor được gọi
Employee emp2 = (Employee) Class.forName("org.programming.mitra.exercises.Employee")
.newInstance();
Nó cũng có thể được viết là
Employee emp2 = Employee.class.newInstance();
3. Sử dụng newInstance()phương thứcConstructor → constructor được gọi
Constructor<Employee> constructor = Employee.class.getConstructor();
Employee emp3 = constructor.newInstance();
4. Sử dụng clone()phương thức → không có lệnh gọi constructor
Employee emp4 = (Employee) emp3.clone();
5. Sử dụng khử lưu huỳnh → không có lệnh gọi hàm tạo
ObjectInputStream in = new ObjectInputStream(new FileInputStream("data.obj"));
Employee emp5 = (Employee) in.readObject();
Ba phương thức đầu tiên newtừ khóa và cả hai đều newInstance()bao gồm một lệnh gọi hàm tạo nhưng sau đó hai phương thức sao chép và giải tuần tự tạo các đối tượng mà không gọi hàm tạo.
Tất cả các phương thức trên đều có mã byte khác nhau được liên kết với chúng, Đọc các cách khác nhau để tạo các đối tượng trong Java với Ví dụ cho các ví dụ và mô tả chi tiết hơn, ví dụ: chuyển đổi mã byte của tất cả các phương thức này.
Tuy nhiên, người ta có thể lập luận rằng việc tạo một đối tượng mảng hoặc chuỗi cũng là một cách tạo đối tượng nhưng những điều này chỉ cụ thể hơn đối với một số lớp và được xử lý trực tiếp bởi JVM, trong khi chúng ta có thể tạo một đối tượng của bất kỳ lớp nào bằng cách sử dụng 5 cách này.