Object ใน Java คืออะไรและจะใช้อย่างไร?



ออบเจ็กต์ใน Java คือเอนทิตีในโลกแห่งความเป็นจริงซึ่งมีคุณสมบัติและพฤติกรรมของตัวเอง เรียนรู้ทั้งหมดเกี่ยวกับอ็อบเจ็กต์ใน Java และวิธีสร้างอ็อบเจ็กต์ในหลายวิธี

Java คือไฟล์ . กล่าวอีกนัยหนึ่งเกือบทุกอย่างใน Java ถือว่าเป็นวัตถุ ดังนั้นในขณะที่เขียนโปรแกรมใน Java เราควรรู้วิธีที่เป็นไปได้ทั้งหมดในการสร้างวัตถุใน Java แต่ก่อนที่จะดำน้ำลึกลงไปในวัตถุคุณต้องรู้แนวคิดของ คลาส Java และวัตถุเกี่ยวข้องกับพวกมันอย่างไร

ในโพสต์นี้เราจะพูดถึง 5 วิธีในการสร้างอ็อบเจกต์ใน Java และทำความเข้าใจกับแนวคิดสำคัญทั้งหมดที่จำเป็นในการทำความเข้าใจเมธอด





  1. สร้างวัตถุโดยใช้คำหลัก 'ใหม่'
  2. สร้างวัตถุโดยใช้วิธี clone ()
  3. สร้างวัตถุโดยใช้เมธอด newInstance () ของคลาส
  4. สร้างวัตถุโดยใช้ deserialization
  5. สร้างอ็อบเจ็กต์โดยใช้เมธอด newInstance () ของคลาสคอนสตรัคเตอร์

มาเริ่มกันเลย.



สร้างวัตถุโดยใช้คำหลัก 'ใหม่'

ในขณะที่เขียนโปรแกรมใน Java คุณอาจเจอคำหลัก 'ใหม่' อย่างแน่นอน เป็นคีย์เวิร์ดที่ใช้ในการสร้างอ็อบเจ็กต์ซึ่งมีการจัดสรรหน่วยความจำแบบไดนามิกเช่นหน่วยความจำให้กับอ็อบเจ็กต์เหล่านี้ถูกกำหนดที่รันไทม์ และการจัดสรรแบบไดนามิกนี้จำเป็นเกือบตลอดเวลาในขณะที่สร้างวัตถุ จึงใช้วิธีนี้บ่อยกว่าวิธีอื่น

เบราว์เซอร์ db สำหรับการสอน sqlite

ไวยากรณ์ : ClassName ObjectName = classConstructor ใหม่ ()



คลาสสาธารณะ ObjectCreation {String FirstString = 'Hello World' public static void main (String [] args) {ObjectCreation obj = new ObjectCreation () System.out.println (obj.FirstString)}}

เอาท์พุท - สวัสดีชาวโลก

วิธีการสร้างอ็อบเจ็กต์ใน Java นี้สามารถใช้ได้กับคอนสตรัคเตอร์ของคลาสที่ต้องการหากคลาสมีมากกว่า 1 ผู้สร้าง .

สร้าง Objects โดยใช้วิธี clone ()

จะเป็นอย่างไรหากวัตถุที่เราต้องการสร้างควรเป็นสำเนาของไฟล์ เหรอ? ในกรณีนั้นเราสามารถใช้เมธอด clone () clone () เป็นส่วนหนึ่งของคลาส Object แต่ไม่สามารถใช้ได้โดยตรงเนื่องจากเป็นวิธีการป้องกัน

วิธี clone () สามารถใช้ได้หลังจากใช้อินเทอร์เฟซและการจัดการ Cloneable เท่านั้นCloneNotSupportedException

class Message ใช้ Cloneable {String FirstString Message () {this.FirstString = 'Hello World'} Public Object clone () พ่น CloneNotSupportedException {return super.clone ()}} คลาสสาธารณะ ObjectCreation {public static void main (String [] args) พ่น CloneNotSupportedException {Message FirstObj = new Message () System.out.println (FirstObj.FirstString) Message SecondObj = (Message) FirstObj.clone () System.out.println (SecondObj.FirstString) SecondObj.FirstString = 'ยินดีต้อนรับสู่โลก ของการเขียนโปรแกรม 'System.out.println (SecondObj.FirstString) System.out.println (FirstObj.FirstString)}}

เอาท์พุท -

สวัสดีชาวโลก

สวัสดีชาวโลก

ยินดีต้อนรับสู่โลกแห่งการเขียนโปรแกรม

สวัสดีชาวโลก

คำถามสัมภาษณ์นักวิทยาศาสตร์ข้อมูลของ Google

ในโปรแกรมข้างต้นเราได้สร้างสำเนาของวัตถุที่เรามีอยู่แล้ว เพื่อให้แน่ใจว่าทั้ง ไม่ได้ชี้ไปที่ตำแหน่งหน่วยความจำเดียวกันจำเป็นอย่างยิ่งที่จะต้องเปลี่ยนค่าของ 'FirstString' สำหรับวัตถุที่สองจากนั้นจึงพิมพ์ค่าของวัตถุทั้งสอง

สร้างวัตถุโดยใช้เมธอด newInstance () ของคลาส Class

วิธีนี้ไม่ได้ใช้บ่อยสำหรับการสร้างวัตถุ วิธีการสร้างอ็อบเจกต์นี้ใช้ถ้าเรารู้ชื่อคลาสและ ตัวสร้างเริ่มต้น เป็นที่สาธารณะในธรรมชาติ ในการใช้วิธีนี้ในการสร้างวัตถุเราต้องจัดการข้อยกเว้น 3 ข้อ

ClassNotFoundException- ข้อยกเว้นนี้เกิดขึ้นหาก JVM ไม่พบคลาสที่ส่งผ่านเป็นอาร์กิวเมนต์

InstantiationException- ข้อยกเว้นนี้เกิดขึ้นหากคลาสที่กำหนดไม่มีตัวสร้างเริ่มต้น

IllegalAccessException- ข้อยกเว้นนี้เกิดขึ้นหากเราไม่มีสิทธิ์เข้าถึงที่ระบุ ชั้นเรียน .

เมื่อเราดูแลข้อยกเว้นเหล่านี้แล้วเราก็พร้อมที่จะไป

class ObjectCreation {String FirstString = 'Hello World' public static void main (String [] args) {ลองใช้ {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 ()}}}

เอาท์พุท - สวัสดีชาวโลก

สร้างวัตถุโดยใช้ deserialization

ใน Java Serialization ใช้เพื่อแปลงสถานะปัจจุบันของอ็อบเจ็กต์ให้เป็นไบต์สตรีม deserialization เป็นสิ่งที่ตรงกันข้ามกับที่เราสร้างวัตถุขึ้นใหม่โดยใช้ไบต์สตรีม สำหรับขั้นตอนการทำให้เป็นอนุกรมเราจำเป็นต้องใช้อินเทอร์เฟซแบบอนุกรม การจัดการข้อยกเว้นจะต้องทำเพื่อสร้างวัตถุโดยใช้วิธีนี้

ObjectInputStream objectInputStream = ใหม่ ObjectInputStream (inputStream) Classname object = (classname) objectInputStream.readObject ()

สร้างออบเจ็กต์โดยใช้เมธอด newInstance () ของคลาส Constructor

เราเห็นเมธอด newInstance ของคลาสคลาสที่เราใช้สร้างอ็อบเจกต์ ในทำนองเดียวกันตัวสร้างคลาสยังประกอบด้วยเมธอด newInstance () ซึ่งสามารถใช้เพื่อสร้างอ็อบเจ็กต์ ตัวสร้างเริ่มต้นอื่น ๆ สามารถทำได้ด้วยความช่วยเหลือของวิธีนี้เราสามารถโทรได้ ตัวสร้างพารามิเตอร์ .

import java.lang.reflect. * คลาสสาธารณะ ObjectCreation {private String FirstString = 'Hello World' ObjectCreation () {} public void changeMessage (String message) {this.FirstString = message} public static void main (String [] args) { ลองใช้ {Constructor constructor = ObjectCreation.class.getDeclaredConstructor () ObjectCreation objectCreation = constructor.newInstance () objectCreation.changeMessage ('Welcome to the world of programming') System.out.println (objectCreation.FirstString)} catch (Exception e) { e.printStackTrace ()}}}

เอาท์พุท -

ยินดีต้อนรับสู่โลกแห่งการเขียนโปรแกรม

นี่คือ 5 วิธีในการสร้างวัตถุในรูปแบบ บางคนใช้บ่อยกว่าคนอื่น ๆ แต่ละวิธีมีข้อดีและข้อเสียของตัวเอง ในท้ายที่สุดทางเลือกก็เป็นของคุณ

Java เป็นภาษาที่น่าสนใจ แต่จะยุ่งยากหากปัจจัยพื้นฐานไม่ชัดเจน ในการเริ่มต้นการเรียนรู้ของคุณและฝึกฝนทักษะทั้งหมดที่เกี่ยวข้องกับเทคโนโลยี java ลงทะเบียนในไฟล์ และปลดปล่อยนักพัฒนา java ในตัวคุณ

มีคำถามสำหรับเรา? โปรดระบุสิ่งนี้ในส่วนความคิดเห็นของบทความ 'วัตถุใน Java' และเราจะติดต่อกลับโดยเร็วที่สุด