final เป็นโมดิฟายเออร์ที่ไม่สามารถเข้าถึงสำหรับอิลิเมนต์ Java ตัวปรับแต่งขั้นสุดท้ายจะใช้สำหรับการสิ้นสุดการใช้งานของคลาส เมธอด และตัวแปร
ตัวแปรสุดท้าย
ตัวแปรสุดท้ายสามารถเริ่มต้นได้เพียงครั้งเดียวเท่านั้น ตัวแปรอ้างอิงที่ประกาศขั้นสุดท้ายไม่สามารถกำหนดใหม่เพื่ออ้างถึงอ็อบเจกต์อื่นได้
อย่างไรก็ตาม ข้อมูลภายในวัตถุสามารถเปลี่ยนแปลงได้ ดังนั้นสถานะของอ็อบเจ็กต์สามารถเปลี่ยนแปลงได้ แต่ไม่สามารถอ้างอิงได้
สำหรับตัวแปร ตัวปรับแต่งสุดท้ายมักใช้กับสแตติกเพื่อทำให้ค่าคงที่เป็นตัวแปรคลาส
ตัวอย่าง
public class Test { final int value = 10; // The following are examples of declaring constants: public static final int BOXWIDTH = 6; static final String TITLE = "Manager"; public void changeValue() { value = 12; // will give an error } }
วิธีสุดท้าย
คลาสย่อยใดๆ ไม่สามารถแทนที่เมธอดสุดท้ายได้ ตามที่กล่าวไว้ก่อนหน้านี้ ตัวดัดแปลงสุดท้ายจะป้องกันไม่ให้เมธอดถูกแก้ไขในคลาสย่อย
จุดประสงค์หลักในการทำให้วิธีการขั้นสุดท้ายคือเนื้อหาของวิธีการไม่ควรถูกเปลี่ยนโดยบุคคลภายนอก
ตัวอย่าง
คุณประกาศเมธอดโดยใช้โมดิฟายเออร์สุดท้ายในการประกาศคลาส ดังตัวอย่างต่อไปนี้
public class Test { public final void changeName() { // body of method } }
คลาสสุดท้าย
วัตถุประสงค์หลักของการใช้คลาสที่ถูกประกาศเป็นขั้นสุดท้ายคือการป้องกันไม่ให้คลาสถูกจัดเป็นคลาสย่อย หากคลาสถูกทำเครื่องหมายเป็นคลาสสุดท้าย คลาสจะไม่สามารถสืบทอดคุณสมบัติใดๆ จากคลาสสุดท้ายได้
ตัวอย่าง
public final class Test { // body of class }