Các Cách Khởi Tạo đối Tượng Trong Java (Java Constructor)
Có thể bạn quan tâm
Các cách khởi tạo đối tượng trong Java (Java Constructor).
Giả sử mình có class Customer như sau:
package stackjava.com.constructor.demo; public class Customer { private String name; private String address; // getter - setter }Bây giờ mình sẽ trình bày các cách để tạo mới một đối tượng Customer
Cách 1: Dùng từ khóa new
Ví dụ:
Customer c1 = new Customer();Cách 2: Dùng method newInstance()
Customer c2 = (Customer)Class.forName("stackjava.com.constructor.demo.Customer").newInstance(); Customer c3 = (Customer) Customer.class.getClassLoader().loadClass("stackjava.com.constructor.demo.Customer").newInstance(); Customer c4 = Customer.class.newInstance(); Constructor<Customer> constructor = Customer.class.getConstructor(); Customer c5 = constructor.newInstance();Cách 3: Clone object
Với cách này thì Class của đối tượng được clone phải implement interface Cloneable và override lại method clone():
package stackjava.com.constructor.demo; public class Customer implements Cloneable { private String name; private String address; // getter - setter @Override public Object clone() throws CloneNotSupportedException { return super.clone(); } }Ví dụ:
Customer c1 = new Customer(); Customer c2 = (Customer) c1.clone();Cách 4: Sử dụng deserialization
Cách này chính là chuyển một mảng byte thành đối tượng.
(Xem lại: Java Serializable là gì? Serialization và Deserialization trong Java)
Ví dụ:
Customer c1 = new Customer(); // Serialization ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("customer.dat")); out.writeObject(c1); out.close(); // Deserialization ObjectInputStream in = new ObjectInputStream(new FileInputStream("customer.dat")); Customer c2 = (Customer) in.readObject();Lưu ý:
Với cách 1 và cách 2 thì chương trình sẽ gọi tới hàm khởi tạo của class Customer do đó class Customer phải có hàm khởi tạo public hoặc access modifier tương ứng để có thể truy cập vào hàm khởi tạo.
Với cách 3 và cách 4 thì chương trình không gọi tới hàm khởi tạo của class Customer.
Okay, Done!
Download code ví dụ trên tại đây.
Reference:
https://dzone.com/articles/5-different-ways-to-create-objects-in-java-with-ex
https://stackoverflow.com/…-different-ways-to-create-an-object-in-java
Điều hướng bài viết
← Code ví dụ Spring Profiles, tính năng Spring Boot ProfilesCode ví dụ hiển thị file jsp với spring boot →Java
- Chạy file jar giống như một service trên Ubuntu (Linux)
- Hướng dẫn sửa lỗi No compatible attachment provider is available
- Hướng dẫn cài đặt Java, JDK trên MacOS (macbook)
- Code ví dụ Java Async Await với ea-async và CompletableFuture
- CompletableFuture là gì? Code ví dụ Java CompletableFuture (Java 8)
- Code ví dụ Callable, Future, Executors trong Java
- So sánh Future và CompletableFuture trong Java
- Phân biệt Heap memory và Stack memory trong java
- Hướng dẫn cài đặt Java 8 trên Windows
- Code ví dụ Java đặt lịch với Quartz Scheduler
- Code ví dụ Java đặt lịch với Timer, TimerTask
- Cài đặt Java trên Linux/Ubuntu (Oracle JDK – Open JDK)
- Cài đặt Java, JDK trên Ubuntu (Linux) bằng file tar.gz
- Code ví dụ Java SocketCluster Client, publish và subscribe channel
- Code ví dụ Java đọc RSS Feed (Java RSS Reader)
- Các cách khởi tạo đối tượng trong Java (Java Constructor)
- Code ví dụ Java Reflection, Clone Object, Copy Object
- Java Reflection là gì? Hướng dẫn Java Reflection API
- Java Serializable là gì? Serialization và Deserialization trong Java
- Các loại dữ liệu nguyên thủy trong Java (primitives variable)
- Code ví dụ java giải nén file rar (decompress file rar)
- Package trong java là gì? Ý nghĩa Package trong Java
- ProcessBuilder trong Java, chạy lệnh cmd trong Java
- Những tính năng mới trong Java 8.
- Immutable là gì? Sự khác nhau giữa Immutable với Mutable
- Kéo thả Java Swing trên Eclipse giống như NetBean.
- Các tính chất hướng đối tượng của Java
- Sự khác nhau giữa Abstract class với Interface trong Java.
- HashCode với Equals trong Java
- Ngôn ngữ Java là gì? Đặc trưng của Java
- So sánh lập trình cấu trúc với hướng đối tượng
- SCJP, OCPJP là gì, tài liệu SCJP, OCPJP tiếng việt
- Code ví dụ đa ngôn ngữ với Java (ResourceBundle, Internationalization)
- Java 2 là gì? Các version/Phiên bản của Java
- Phân biệt giữa Java ME, Java SE và Java EE
- So sánh sự khác nhau giữa J2ME, J2SE và J2EE
Chuyên mục
- Algorithm
- Apache
- Apache JMeter
- Apache Kafka
- AWS
- C/C++
- CDI
- Clean Code
- Demo
- Design Pattern
- Docker
- Eclipse
- Elasticsearch
- Excel
- FAQ
- Framework
- Freemaker
- FreeMarker
- Gradle
- Hibernate
- HttpClient
- HttpComponents
- Install
- Intellij IDEA
- Java
- Java Basic
- Java Core
- Java8
- JavaScript
- jenkins
- jooq
- JSF
- JSP-Servlet
- JUnit
- Library
- Linux
- Maven
- MinIO
- MongoDB
- MySQL
- Network Programming
- NGINX
- Node.js
- notepad++
- OOP
- PostgreSQL
- PrimeFaces
- Principle
- Python
- quartz
- ReactJS
- Redis
- SDKMan
- Security
- SocketCluster
- Spring
- Spring Boot
- Spring Cloud
- Spring Core
- Spring Data
- Spring Hibernate
- Spring JDBC
- Spring MVC
- Spring Security
- ssl
- Thymeleaf
- Tomcat
- Typescript
- Uncategorized
- Web Service
- WebSocket
- Wordpress
Từ khóa » Khởi Tạo Object Java
-
Đối Tượng - Object Trong Java
-
Ví Dụ Thực Tế Về Cách Tạo Class Và Object Trong Java OOP
-
Khởi Tạo Object Java Theo Một Cách "khác Thường" - Viblo
-
Đối Tượng (object) Và Cách Sử Dụng đối Tượng Trong Java - Góc Học IT
-
Object Và Class Trong Java Với Ví Dụ Cụ Thể - Deft Blog
-
Khởi Tạo Object Trong Java - Có Thật Sự Dễ? - 2KVN
-
Lớp Và đối Tượng Trong Java - Học Java Miễn Phí Hay Nhất - VietTuts
-
Object Và Class Trong Java
-
Class Và Object Trong Java - Lập Trình Từ Đầu
-
Java: Bộ Khởi Tạo Cho đối Tượng | V1Study
-
Java: Lớp (Class) Và Đối Tượng (Object) | V1Study
-
Bài 5: Lập Trình Hướng đối Tượng Trong Java
-
Lớp Và đối Tượng Trong Java - Quách Quỳnh
-
Đối Tượng Và Lớp (class) Trong Java - Hoclaptrinh