Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

อะไรคือความแตกต่างระหว่างตัวแก้ไขการเข้าถึงและตัวแก้ไขที่ไม่เข้าใช้ใน Java?


ตัวแก้ไขการเข้าถึง

ตัวแก้ไขการเข้าถึงคือคีย์เวิร์ดที่ใช้กับคลาส ตัวแปร เมธอด และตัวสร้างเพื่อควบคุมระดับการเข้าถึง

มีตัวแก้ไขการเข้าถึงสี่ตัวใน Java

  • ค่าเริ่มต้น

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

    ขอบเขตของตัวแก้ไขสาธารณะคือการเข้าถึงได้ทุกที่และแม้กระทั่งนอกแพ็คเกจ
  • ส่วนตัว

    ขอบเขตของตัวปรับแต่งส่วนตัวคือการเข้าถึงภายในคลาสเอง
  • ได้รับการปกป้อง

    ขอบเขตของตัวดัดแปลงที่ได้รับการป้องกันถูกจำกัดภายในแพ็คเกจและคลาสย่อยทั้งหมด

ตัวแก้ไขที่ไม่สามารถเข้าถึงได้

ตัวแก้ไขที่ไม่เข้าถึงคือคำหลักที่ไม่มีสิ่งใดที่เกี่ยวข้องกับระดับการเข้าถึง แต่มีฟังก์ชันพิเศษเมื่อระบุไว้

  • รอบชิงชนะเลิศ

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

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

    abstract สามารถใช้กับคลาสและเมธอด คลาสนามธรรมไม่สามารถสร้างอินสแตนซ์ได้และจุดประสงค์ก็เพื่อขยายออกไปเท่านั้น วิธีการนามธรรมถูกประกาศโดยไม่มีเนื้อหาและลงท้ายด้วยอัฒภาค หากคลาสมีเมธอด abstract ก็ควรระบุเป็น abstract ด้วย คลาสที่ขยายคลาสนามธรรมต้องใช้เมธอดนามธรรมทั้งหมด
  • ซิงโครไนซ์

    แสดงว่าเมธอดสามารถเข้าถึงได้ครั้งละหนึ่งเธรดเท่านั้น
  • ชั่วคราว

    ตัวแปรอินสแตนซ์ถูกทำเครื่องหมายเป็นชั่วคราวเพื่อระบุ JVM เพื่อข้ามตัวแปรเฉพาะเมื่อทำให้เป็นอนุกรมของวัตถุที่มีมัน
  • ผันผวน

    คีย์เวิร์ดระเหยใช้เพื่อทำเครื่องหมายตัวแปรจาวาว่า "ถูกเก็บไว้ในหน่วยความจำหลัก" หมายความว่าการอ่านตัวแปรระเหยทุกครั้งจะถูกอ่านจากหน่วยความจำหลักของคอมพิวเตอร์ ไม่ใช่จากแคชของ CPU และการเขียนไปยังตัวแปรผันผวนจะถูกเขียนไปยังหน่วยความจำหลัก ไม่ใช่เฉพาะในแคชของ CPU
  • Strictfp

    คีย์เวิร์ด Strictfp ใน java ช่วยให้แน่ใจว่าคุณจะได้ผลลัพธ์ที่เหมือนกันในทุกแพลตฟอร์ม หากคุณดำเนินการในตัวแปรทศนิยม