Java 提供 一些 其他 修饰符 以 提供 除 可见性 之外 的 功能 这些 修饰符 被 称为 Non-Access Modifiers
- Static สมาชิกที่ประกาศเป็น static จะเป็นร่วมกันสำหรับทุกอินสแตนซ์ของคลาส สมาชิก static เป็นสมาชิกระดับคลาสที่เก็บอยู่ในหน่วยความจำของคลาส
- Final ตัวปรับนี้ใช้เพื่อจำกัดการแก้ไขเพิ่มเติมของตัวแปร เมธอด หรือคลาส ค่าของตัวแปรที่ประกาศเป็น final ไม่สามารถแก้ไขได้หลังจากได้รับค่า เมธอด final ไม่สามารถ override ในคลาสย่อยได้ และคุณไม่สามารถสร้างคลาสย่อยให้กับคลาส final ได้
- Abstract ตัวปรับนี้สามารถใช้กับคลาสหรือเมธอดได้ ไม่สามารถนำตัวปรับนี้ไปใช้กับตัวแปรและคอนสตรัคเตอร์ เมธอดที่ประกาศเป็น abstract ต้องถูกนำไปใช้งานในคลาสย่อย คุณไม่สามารถสร้างอินสแตนซ์ของคลาสที่ประกาศเป็น abstract ได้
- Synchronized ตัวปรับนี้ใช้ควบคุมการเข้าถึงของเมธอดหรือบล็อกเฉพาะโดยหลายเธรด มีเพียงเธรดเดียวที่สามารถเข้าสู่เมธอดหรือบล็อกที่ประกาศเป็น synchronized ได้
- Transient ตัวปรับนี้ใช้ในกระบวนการ serialization ตัวแปรที่ประกาศเป็น transient จะไม่ถูก serialize ระหว่างการ serialize ออบเจ็กต์
- Volatile volatile modifier ใช้ในการเขียนโปรแกรมหลายเธรด หากคุณประกาศฟิลด์เป็น volatile จะเป็นสัญญาณให้เธรดทราบว่าค่าของมันต้องถูกอ่านจากหน่วยความจำหลัก (main memory) แทนที่จะเป็นสแต็กของตัวเอง เพราะ volatile field เป็นร่วมกันสำหรับทุกเธรดและจะถูกอัปเดตบ่อยครั้งโดยหลายเธรด
- Strictfp ตัวปรับนี้ใช้สำหรับการคำนวณจุดลอยตัว คีย์เวิร์ดนี้确保 คุณจะได้การนำเสนอจุดลอยตัวเดียวกันบนทุกแพลตฟอร์ม ตัวปรับนี้ทำให้ตัวแปรจุดลอยตัวสอดคล้องกันมากขึ้นข้ามหลายแพลตฟอร์ม