สารบัญ:
วีดีโอ: เราจะทำให้คลาสไม่เปลี่ยนรูปใน Java ด้วยฟิลด์วันที่ได้อย่างไร
2024 ผู้เขียน: Lynn Donovan | [email protected]. แก้ไขล่าสุด: 2024-01-18 08:29
เราจะเข้าใจความหมายของหลักเกณฑ์เหล่านี้โดยการสร้างคลาสที่ไม่เปลี่ยนรูปด้วยวัตถุที่ไม่แน่นอนพร้อมช่องวันที่
- อย่าให้เมธอด “setter” - วิธีที่ปรับเปลี่ยน ทุ่งนา หรือ วัตถุ อ้างถึงโดย ทุ่งนา .
- ทำ ทั้งหมด ทุ่งนา สุดท้ายและเป็นส่วนตัว
- ไม่อนุญาตให้คลาสย่อยแทนที่เมธอด
เราจะทำให้คลาสไม่เปลี่ยนรูปใน Java ได้อย่างไร
คลาสที่ไม่เปลี่ยนรูปใน Java
- ประกาศคลาสเป็นที่สิ้นสุด ดังนั้นจึงไม่สามารถขยายเวลาได้
- ทำให้ฟิลด์ทั้งหมดเป็นส่วนตัวเพื่อไม่ให้เข้าถึงโดยตรง
- อย่าจัดเตรียมเมธอด setter สำหรับตัวแปร
- ทำให้ฟิลด์ที่เปลี่ยนแปลงได้ทั้งหมดเป็นที่สิ้นสุด เพื่อให้สามารถกำหนดค่าได้เพียงครั้งเดียว
- เริ่มต้นฟิลด์ทั้งหมดผ่านคอนสตรัคเตอร์ที่ทำสำเนาลึก
ต่อมา คำถามคือ การใช้คลาสที่ไม่เปลี่ยนรูปใน Java คืออะไร? คลาสที่ไม่เปลี่ยนรูป หมายความว่าเมื่อสร้างวัตถุแล้ว เราไม่สามารถเปลี่ยนเนื้อหาได้ ใน Java , เครื่องห่อทั้งหมด ชั้นเรียน (เช่น Integer, Boolean, Byte, Short) และ String ระดับ เป็น ไม่เปลี่ยนรูป . เราสร้างเองได้ คลาสที่ไม่เปลี่ยนรูป เช่นกัน.
ผู้คนยังถามว่าคลาส Date ไม่เปลี่ยนรูปใน Java หรือไม่
วันที่ ไม่ใช่ ไม่เปลี่ยนรูป เราต้องทำสำเนาป้องกันของ จาวา . ใช้ประโยชน์ วันที่ ขณะส่งคืนการอ้างอิงไปยังตัวแปรอินสแตนซ์นี้ มาสร้างคนสมมุติกันเถอะ ระดับ ที่มีชื่อและนามสกุลเป็นสมาชิกเพียงสองคน
เราจะทำให้วัตถุไม่เปลี่ยนรูปได้อย่างไร?
ในการทำให้วัตถุไม่เปลี่ยนรูป คุณต้องทำตามขั้นตอนเหล่านี้:
- อย่าใช้วิธีใด ๆ ที่อาจเปลี่ยนฟิลด์ของชั้นเรียนของคุณ ตัวอย่างเช่น อย่าใช้ Setters
- หลีกเลี่ยงการใช้ฟิลด์สาธารณะที่ไม่สิ้นสุด หากฟิลด์ของคุณเป็นแบบสาธารณะ คุณต้องประกาศให้เป็นฟิลด์สุดท้ายและเริ่มต้นในคอนสตรัคเตอร์หรือในบรรทัดการประกาศโดยตรง
แนะนำ:
คุณจะทำ forEach loop ใน Java ได้อย่างไร?
For-each loop ใน Java เริ่มต้นด้วยคีย์เวิร์ด for like for-loop ปกติ แทนที่จะประกาศและเริ่มต้นตัวแปรนับลูป คุณประกาศตัวแปรที่เป็นประเภทเดียวกับประเภทพื้นฐานของอาร์เรย์ ตามด้วยโคลอน ซึ่งตามด้วยชื่ออาร์เรย์
การใช้ FileWriter ใน Java คืออะไร?
คลาส Java FileWriter ใช้เพื่อเขียนข้อมูลเชิงอักขระไปยังไฟล์ เป็นคลาสเชิงอักขระที่ใช้สำหรับการจัดการไฟล์ในจาวา ต่างจากคลาส FileOutputStream คุณไม่จำเป็นต้องแปลงสตริงเป็นอาร์เรย์ไบต์เนื่องจากมีวิธีการเขียนสตริงโดยตรง
คลาสตัวจัดการใน Java คืออะไร?
ตัวจัดการนั้นเป็นคิวข้อความ คุณโพสต์ข้อความไปที่มัน และในที่สุดมันจะประมวลผลโดยเรียกใช้เมธอดการรันและส่งข้อความถึงมัน เนื่องจากการเรียกใช้เหล่านี้จะเกิดขึ้นตามลำดับของข้อความที่ได้รับในเธรดเดียวกันเสมอ จึงช่วยให้คุณจัดลำดับเหตุการณ์ได้
คุณจะค้นหาชุดย่อยของสตริงใน Java ได้อย่างไร
เซตย่อยของสตริงคืออักขระหรือกลุ่มของอักขระที่มีอยู่ภายในสตริง เซตย่อยที่เป็นไปได้ทั้งหมดสำหรับสตริงจะเป็น n(n+1)/2 โปรแกรม: คลาสสาธารณะ AllSubsets {public static void main(String[] args) {String str = 'FUN'; int len = str อุณหภูมิภายใน = 0;
ชนิดข้อมูลดั้งเดิมใน Java คืออะไร?
Primitive types เป็นชนิดข้อมูลพื้นฐานที่สุดที่มีอยู่ในภาษา Java มี 8 แบบ: บูลีน, ไบต์, ถ่าน, สั้น, int, ยาว, ลอยและสองเท่า ประเภทนี้ทำหน้าที่เป็นหน่วยการสร้างของการจัดการข้อมูลใน Java คุณไม่สามารถกำหนดการดำเนินการใหม่สำหรับประเภทดั้งเดิมดังกล่าวได้