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
}