Đối tượng trong Java là gì và làm thế nào để sử dụng nó?



Một đối tượng trong Java là một thực thể trong thế giới thực có thuộc tính và hành vi riêng của nó. Tìm hiểu tất cả về các đối tượng trong Java và cách tạo chúng theo nhiều cách.

Java là một . Nói cách khác, hầu hết mọi thứ trong Java đều được coi như một đối tượng. Do đó, trong khi lập trình bằng Java, người ta nên biết tất cả các cách có thể để tạo các đối tượng trong Java. Nhưng trước khi đi sâu hơn vào các đối tượng, bạn phải biết khái niệm Các lớp Java và các đối tượng liên quan đến chúng như thế nào.

Trong bài đăng này, chúng tôi sẽ trình bày 5 cách khác nhau để tạo các đối tượng trong Java và hiểu tất cả các khái niệm cần thiết để hiểu các phương thức.





  1. Tạo đối tượng bằng từ khóa 'mới'
  2. Tạo đối tượng bằng phương thức clone ()
  3. Tạo các đối tượng bằng phương thức newInstance () của lớp
  4. Tạo đối tượng bằng cách sử dụng deserialization
  5. Tạo đối tượng bằng phương thức newInstance () của lớp phương thức khởi tạo

Bắt đầu nào.



Tạo đối tượng bằng từ khóa 'mới'

Trong khi lập trình bằng Java, bạn chắc chắn có thể bắt gặp từ khóa 'mới'. Nó là một từ khóa được sử dụng để tạo một đối tượng được cấp phát động bộ nhớ tức là bộ nhớ cho các đối tượng này được gán trong thời gian chạy. Và phân bổ động này được yêu cầu hầu hết thời gian trong khi tạo các đối tượng. Do đó phương pháp này được sử dụng thường xuyên hơn các phương pháp khác.

* trong sql là gì

Cú pháp : ClassName ObjectName = new classConstructor ()



public class ObjectCreation {String FirstString = 'Hello World' public static void main (String [] args) {ObjectCreation obj = new ObjectCreation () System.out.println (obj.FirstString)}}

Đầu ra- Chào thế giới

Phương pháp tạo đối tượng trong Java này có thể được sử dụng với bất kỳ hàm tạo nào của lớp được yêu cầu nếu lớp có nhiều hơn 1 người xây dựng .

Tạo đối tượng bằng phương thức clone ()

Điều gì xảy ra nếu đối tượng mà chúng ta muốn tạo phải là bản sao của một đối tượng đã tồn tại ? Trong trường hợp đó, chúng ta có thể sử dụng phương thức clone (). clone () là một phần của lớp Object nhưng nó không thể được sử dụng trực tiếp vì nó là một phương thức được bảo vệ.

Phương thức clone () chỉ có thể được sử dụng sau khi thực hiện giao diện và xử lý CloneableCloneNotSupportedException.

class Message thực hiện Cloneable {String FirstString Message () {this.FirstString = 'Hello World'} public Object clone () ném CloneNotSupportedException {return super.clone ()}} public class ObjectCreation {public static void main (String [] args) ném CloneNotSupportedException {Message FirstObj = new Message () System.out.println (FirstObj.FirstString) Message SecondObj = (Message) FirstObj.clone () System.out.println (SecondObj.FirstString) SecondObj.FirstString = 'Chào mừng bạn đến với thế giới của lập trình 'System.out.println (SecondObj.FirstString) System.out.println (FirstObj.FirstString)}}

Đầu ra-

Chào thế giới

Chào thế giới

Chào mừng đến với thế giới lập trình

Chào thế giới

không gian tên trong c ++ là gì

Trong chương trình trên, chúng tôi đã tạo một bản sao của đối tượng đã có của chúng tôi. Để đảm bảo cả hai không trỏ đến cùng một vị trí bộ nhớ, điều cần thiết là phải thay đổi giá trị của ‘FirstString’ cho đối tượng thứ hai và sau đó in giá trị của nó cho cả hai đối tượng.

Tạo đối tượng bằng phương thức newInstance () của lớp Class

Phương pháp này không được sử dụng thường xuyên để tạo các đối tượng. Phương pháp tạo đối tượng này được sử dụng nếu chúng ta biết tên lớp và nhà xây dựng mặc định là công khai về bản chất. Để sử dụng phương pháp này để tạo đối tượng, chúng ta cần xử lý 3 ngoại lệ

ClassNotFoundException- Ngoại lệ này xảy ra nếu JVM không thể tìm thấy lớp được truyền dưới dạng đối số.

InstantiationException- Ngoại lệ này xảy ra nếu lớp đã cho không chứa hàm tạo mặc định.

IllegalAccessException- Ngoại lệ này xảy ra nếu chúng tôi không có quyền truy cập vào lớp học .

Một khi chúng ta quan tâm đến những trường hợp ngoại lệ này, chúng ta có thể tiếp tục.

class ObjectCreation {String FirstString = 'Hello World' public static void main (String [] args) {try {Class Message = Class.forName ('ObjectCreation') ObjectCreation obj = (ObjectCreation) Message.newInstance () System.out.println (obj.FirstString)} catch (ClassNotFoundException e) {e.printStackTrace ()} catch (InstantiationException e) {e.printStackTrace ()} catch (IllegalAccessException e) {e.printStackTrace ()}}}

Đầu ra- Chào thế giới

Tạo đối tượng bằng cách sử dụng deserialization

Trong Java Serialization được sử dụng để chuyển trạng thái hiện tại của một đối tượng thành một luồng byte. deserialization hoàn toàn ngược lại khi chúng ta tạo lại đối tượng bằng luồng byte. Đối với quá trình tuần tự hóa, chúng ta cần triển khai giao diện Serializable. Xử lý ngoại lệ phải được thực hiện để tạo các đối tượng bằng phương pháp này.

ObjectInputStream objectInputStream = new ObjectInputStream (inputStream) Classname object = (classname) objectInputStream.readObject ()

Tạo các đối tượng bằng phương thức newInstance () của lớp Constructor

Chúng ta đã thấy phương thức newInstance của lớp Class mà chúng ta đã sử dụng để tạo một đối tượng. Tương tự, hàm tạo lớp cũng bao gồm một phương thức newInstance () có thể được sử dụng để tạo các đối tượng. Các hàm tạo khác có thể mặc định với sự trợ giúp của phương thức này, chúng ta cũng có thể gọi các hàm tạo được tham số hóa .

import java.lang.reflect. * public class ObjectCreation {private String FirstString = 'Hello World' ObjectCreation () {} public void changeMessage (String message) {this.FirstString = message} public static void main (String [] args) { try {Constructor constructor = ObjectCreation.class.getDeclaredConstructor () ObjectCreation objectCreation = constructor.newInstance () objectCreation.changeMessage ('Chào mừng đến với thế giới lập trình') System.out.println (objectCreation.FirstString)} catch (Exception e) { e.printStackTrace ()}}}

Đầu ra-

Chào mừng đến với thế giới lập trình

Đây là 5 cách khác nhau để tạo đối tượng trong một số được sử dụng thường xuyên hơn những người khác. Mỗi phương pháp đều có ưu nhược điểm riêng. Cuối cùng, sự lựa chọn là ở bạn.

Java là một ngôn ngữ thú vị, nhưng nó sẽ trở nên phức tạp nếu các nguyên tắc cơ bản không rõ ràng. Để bắt đầu, việc học và thành thạo tất cả các kỹ năng liên quan đến công nghệ java đăng ký và giải phóng nhà phát triển java trong bạn.

Có một câu hỏi cho chúng tôi? vui lòng đề cập đến vấn đề này trong phần nhận xét của bài viết 'các đối tượng trong Java' này và chúng tôi sẽ liên hệ lại với bạn trong thời gian sớm nhất.