สารบัญ:

วัตถุ Date เปลี่ยนแปลงได้ใน Java หรือไม่
วัตถุ Date เปลี่ยนแปลงได้ใน Java หรือไม่

วีดีโอ: วัตถุ Date เปลี่ยนแปลงได้ใน Java หรือไม่

วีดีโอ: วัตถุ Date เปลี่ยนแปลงได้ใน Java หรือไม่
วีดีโอ: ทำความรู้จัก Java แปลง String เป็น DateTime 2024, พฤศจิกายน
Anonim

NS วัตถุที่เปลี่ยนแปลงได้ เป็นเพียง วัตถุ ซึ่งสามารถเปลี่ยนแปลงสภาพหลังการก่อสร้างได้ ตัวอย่างเช่น StringBuilder และ วันที่ เป็น วัตถุที่เปลี่ยนแปลงได้ ในขณะที่ String และ Integer จะไม่เปลี่ยนรูป วัตถุ . ชั้นเรียนอาจมี วัตถุที่เปลี่ยนแปลงได้ เป็นสนาม

ในทำนองเดียวกันคลาส Date ไม่เปลี่ยนรูปใน Java หรือไม่

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

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

ในที่นี้ ออบเจ็กต์เปลี่ยนแปลงได้ใน Java หรือไม่

วัตถุที่ไม่เปลี่ยนรูป เป็นเพียง วัตถุ ซึ่งรัฐ (the วัตถุ ข้อมูล) ไม่สามารถเปลี่ยนแปลงได้หลังการก่อสร้าง ตัวอย่างของ วัตถุที่ไม่เปลี่ยนรูป จาก JDK ได้แก่ String และ Integer วัตถุที่ไม่แน่นอน มีฟิลด์ที่สามารถเปลี่ยนแปลงได้ วัตถุที่ไม่เปลี่ยนรูป ไม่มีฟิลด์ที่สามารถเปลี่ยนแปลงได้หลังจาก วัตถุ ถูกสร้างขึ้น

คุณจะทำให้วัตถุกลายพันธุ์ใน Java ได้อย่างไร?

คลาสที่ไม่เปลี่ยนรูปใน Java

  1. ประกาศคลาสเป็นที่สิ้นสุด ดังนั้นจึงไม่สามารถขยายเวลาได้
  2. ทำให้ฟิลด์ทั้งหมดเป็นส่วนตัวเพื่อไม่ให้เข้าถึงโดยตรง
  3. อย่าจัดเตรียมเมธอด setter สำหรับตัวแปร
  4. ทำให้ฟิลด์ที่เปลี่ยนแปลงได้ทั้งหมดเป็นที่สิ้นสุด เพื่อให้สามารถกำหนดค่าได้เพียงครั้งเดียว
  5. เริ่มต้นฟิลด์ทั้งหมดผ่านคอนสตรัคเตอร์ที่ทำสำเนาลึก

แนะนำ: