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

คีย์เวิร์ด final ใน Java

final เป็น non-access modifier สำหรับองค์ประกอบของ Java ตัวปรับ final ใช้สำหรับทำให้การนำไปใช้งานของคลาส เมธอด และตัวแปรเป็น final (ไม่สามารถเปลี่ยนแปลงได้)

ตัวแปร Final (Final Variables)

ตัวแปร final สามารถกำหนดค่าเริ่มต้นได้อย่างชัดเจนเพียงครั้งเดียว ตัวแปรอ้างอิงที่ประกาศเป็น final ไม่สามารถกำหนดให้อ้างอิงไปยังออบเจ็กต์ที่แตกต่างกันได้

อย่างไรก็ตาม ข้อมูลภายในออบเจ็กต์สามารถเปลี่ยนแปลงได้ ดังนั้น สถานะของออบเจ็กต์สามารถเปลี่ยนแปลงได้ แต่ไม่ใช่การอ้างอิง

กับตัวแปร ตัวปรับ final มักใช้ร่วมกับ static เพื่อทำให้ค่าคงที่เป็นตัวแปรคลาส

ตัวอย่าง

public class Test {    final int value = 10;    // ต่อไปนี้เป็นตัวอย่างการประกาศค่าคงที่:    public static final int BOXWIDTH = 6;    static final String TITLE = "Manager";    public void changeValue() {       value = 12; // จะให้ข้อผิดพลาด    } }

เมธอด Final (Final Methods)

เมธอด final ไม่สามารถถูก override โดยคลาสย่อยใดๆ ได้ ตามที่กล่าวไว้ก่อนหน้านี้ ตัวปรับ final ป้องกันไม่ให้เมธอดถูกแก้ไขในคลาสย่อย

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

ตัวอย่าง

คุณประกาศเมธอดโดยใช้ตัวปรับ final ในการประกาศคลาส ดังต่อไปนี้

public class Test {    public final void changeName() {       // body of method    } }

คลาส Final (Final Classes)

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

ตัวอย่าง

public final class Test {    // body of class }