สิ่งที่คุณต้องรู้เกี่ยวกับ Final สุดท้ายและสุดท้ายใน Java



บทความเกี่ยวกับ Final, Final และ Finalize ใน Java นี้จะให้รายการความแตกต่างทั้งหมดระหว่างคีย์เวิร์ด Final, Final และ Finalize พร้อมกับการนำไปใช้งานจริง

หากคุณมีประสบการณ์มาก่อน คุณอาจสังเกตเห็นว่าผู้สัมภาษณ์มักจะถามคำถามที่ยุ่งยากซึ่งมักจะหยิบขึ้นมาจากแนวคิดพื้นฐาน คำถามหนึ่งที่มักถามกันมากคือการแยกความแตกต่างระหว่างขั้นสุดท้ายสุดท้ายและขั้นสุดท้าย . ผ่านสื่อของบทความนี้ฉันจะวาดเส้นที่ชัดเจนระหว่างขั้นสุดท้ายสุดท้ายและขั้นสุดท้ายใน Java ซึ่งจะช่วยให้คุณได้รับข้อมูลเชิงลึกที่ดีขึ้น

ในบทความนี้ฉันจะกล่าวถึงหัวข้อต่อไปนี้:





ดังนั้นเรามาเริ่มต้นด้วยคำหลักแรกในรายการสุดท้ายสุดท้ายและสุดท้ายใน Java

คำหลักสุดท้าย

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



  1. ตัวแปรสุดท้าย
  2. วิธีสุดท้าย
  3. ชั้นสุดท้าย

ด้วยแต่ละคำหลักคำหลักสุดท้ายมีผลที่แตกต่างกัน ตอนนี้เรามาดูกันว่ามันส่งผลต่อแต่ละรายการอย่างไร

1. การสิ้นสุดตัวแปร

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

มาดูตัวอย่างกัน



คลาสสาธารณะ A {int var1 = 123 // การประกาศตัวแปรสุดท้าย int var2 = 345 final int var3 // พยายามเริ่มต้นตัวแปรสุดท้ายที่ว่างเปล่า var = 555 // ข้อผิดพลาด A () {var1 = 111 // ไม่มีข้อผิดพลาด var2 = 333 // ข้อผิดพลาดในการคอมไพล์ // การเริ่มต้นตัวแปรสุดท้ายที่ว่างเปล่า var3 = 444 // ไม่มีข้อผิดพลาด} // การส่งผ่านพารามิเตอร์สุดท้ายเป็นโมฆะ avg (พารามิเตอร์ int, พารามิเตอร์ int สุดท้าย) {param1 = 2345 // ไม่มีข้อผิดพลาด param2 = 1223 // ข้อผิดพลาดในการรวบรวม} // การประกาศช่องสุดท้ายเป็นโมฆะ show () {final int fieldVal = 300000 fieldVal = 400000 // Error}}

ทั้งหมดนี้เป็นข้อมูลเกี่ยวกับว่าคำหลักสุดท้ายมีผลต่อตัวแปรอย่างไรตอนนี้เรามาดูกันว่าวิธีการได้รับผลกระทบอย่างไร

2. วิธีสุดท้าย

ใน Java เมื่อใดก็ตามที่เมธอดถูกประกาศเป็นขั้นสุดท้ายจะไม่สามารถทำได้ โดยคลาสย่อยใด ๆ ตลอดการดำเนินการของโปรแกรม

มาดูตัวอย่างกัน

// FINAL METHOD class A {final void method_abc () {System.out.println ('This is a Final method and can't be overridden')} void method_xyz () {System.out.println ('นี่เป็นวิธีปกติและ สามารถแทนที่ ')}} คลาส B ขยาย A {void method_abc {// Compile Time Error} void method_xyz () {System.out.println (' This is an overridden method in class B ')}}

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

3. คลาสสุดท้าย

ใน Java เมื่อใดก็ตามที่คลาสถูกประกาศเป็นขั้นสุดท้ายจะไม่สามารถเป็นได้ . เนื่องจากเมื่อคลาสถูกประกาศเป็นขั้นสุดท้ายสมาชิกข้อมูลและวิธีการทั้งหมดที่มีอยู่ในคลาสจะถูกประกาศโดยปริยายว่าเป็นขั้นสุดท้าย นอกจากนี้เมื่อมีการประกาศคลาสเป็นขั้นสุดท้ายแล้วจะไม่สามารถประกาศเป็นนามธรรมได้อีกต่อไป กล่าวอีกนัยหนึ่งชั้นเรียนสามารถเป็นได้ทั้งสองประเภทสุดท้ายหรือนามธรรม

มาดูตัวอย่างกัน

// FINAL CLASS คลาสสุดท้าย A {// class body} คลาส B ขยาย A {// Compilation Error // class body}

ฉันหวังว่าตอนนี้คุณจะเข้าใจอย่างชัดเจนถึงการทำงานของคำหลักสุดท้าย ตอนนี้เรามาดูบทความนี้กันในขั้นสุดท้ายสุดท้ายและสรุปใน Java เพื่อค้นหาบทบาทของคำหลักในที่สุด

สุดท้ายบล็อก

ใน Java สุดท้ายคือบล็อกทางเลือกซึ่งใช้สำหรับไฟล์ . โดยทั่วไปแล้วจะนำหน้าด้วยบล็อกลองจับ สุดท้ายบล็อกจะใช้เพื่อรันโค้ดที่สำคัญเช่นการล้างข้อมูลทรัพยากรหรือทำให้การใช้งานหน่วยความจำว่างเป็นต้นสุดท้ายบล็อกจะถูกดำเนินการโดยไม่คำนึงถึงข้อเท็จจริงว่ามีการจัดการข้อยกเว้นหรือไม่ ดังนั้นการห่อรหัสการล้างข้อมูลในบล็อกสุดท้ายถือเป็นแนวทางปฏิบัติที่ดี นอกจากนี้คุณยังสามารถใช้กับ try block ได้โดยไม่ต้องใช้ catch block ร่วม

ตอนนี้เรามาดูตัวอย่างกัน

คลาส A {public static void main (String args []) {ลองใช้ {System.out.println ('Try Block') โยน new Exception ()} catch (Exception e) {System.out.println ('Catch Block') } ในที่สุด {System.out.println ('ปิดกั้นในที่สุด')}}}

จนถึงตอนนี้ฉันได้พูดถึงคำหลักสุดท้ายและสุดท้ายใน Java แล้ว ตอนนี้เรามาดูคำหลักสุดท้ายในสามคำหลักนั่นคือสรุปคำหลักใน Java

สรุปวิธีการ

Finalize เป็นวิธีการป้องกันแบบไม่คงที่ซึ่งกำหนดไว้ในคลาส Object ดังนั้นจึงพร้อมใช้งานสำหรับอ็อบเจ็กต์ใด ๆ และทั้งหมดใน Javaวิธีนี้คือเรียกโดยคนเก็บขยะก่อนที่วัตถุจะถูกทำลายทั้งหมดในบางครั้งก อาจต้องทำงานที่สำคัญบางอย่างให้เสร็จสิ้นเช่นปิดการเชื่อมต่อแบบเปิดการเพิ่มทรัพยากร ฯลฯ ก่อนที่มันจะถูกทำลาย หากงานเหล่านี้ไม่เสร็จสิ้นอาจทำให้ประสิทธิภาพของโปรแกรมลดลง ดังนั้นไฟล์คนเก็บขยะเรียกมันว่าวัตถุที่ไม่มีการอ้างอิงอีกต่อไปและถูกทำเครื่องหมายเพื่อเก็บขยะ

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

การแสดงภาพข้อมูลในฉากหลังคืออะไร

เรามาดูตัวอย่างเดียวกัน

คลาสสาธารณะ A {โมฆะสาธารณะสรุป () โยน Throwable {System.out.println ('Object ถูกทำลายโดย Garbage Collector')} public static void main (String [] args) {Edureka test = new Edureka () test = null System.gc ()}}

ด้วยเหตุนี้เราจึงมาถึงจุดสิ้นสุดของบทความนี้ในขั้นสุดท้ายสุดท้ายและสุดท้ายใน Java เพื่อสรุปสิ่งนี้ฉันได้เพิ่มการเปรียบเทียบระหว่างคำหลักทั้งสามซึ่งจะช่วยคุณในการดึงความแตกต่างที่สำคัญได้อย่างรวดเร็ว

ตารางเปรียบเทียบ - สุดท้ายเทียบกับสุดท้ายเทียบกับสรุปคำหลักใน Java

ปัจจัย สุดท้าย สุดท้าย สรุป
คำจำกัดความ Final เป็นคีย์เวิร์ดและใช้เป็นตัวปรับการเข้าถึงใน Javaสุดท้ายคือบล็อกใน Java ที่ใช้สำหรับ Exception HandlingFinalize เป็นวิธีการใน Java ที่ใช้สำหรับ Garbage Collection
ใบสมัคร Final ใน Java ใช้กับตัวแปรวิธีการและคลาสเพื่อตั้งค่าสิทธิ์การเข้าถึงในที่สุดก็ใช้บล็อกพร้อมกับบล็อก try and catchวิธี Finalize ใน Java ใช้กับอ็อบเจ็กต์ที่ไม่ได้ใช้งานแล้ว
ฟังก์ชัน ตัวแปรสุดท้ายใน Java คือค่าคงที่ซึ่งไม่สามารถเปลี่ยนแปลงได้เมื่อกำหนดแล้ว

วิธีสุดท้ายใน Java ไม่สามารถแทนที่ด้วยคลาสลูกของมันได้

คลาสสุดท้ายใน Java ไม่สามารถสืบทอดโดยคลาสย่อย

สุดท้ายบล็อกใน Java ช่วยในการล้างทรัพยากรที่ถูกใช้ในบล็อกลองวิธี Finalize ช่วยในการทำความสะอาดกิจกรรมสำหรับวัตถุก่อนที่ตัวเก็บขยะจะถูกทำลาย
การดำเนินการ จะดำเนินการเมื่อถูกเรียกใช้โดยคอมไพเลอร์ดำเนินการทันทีหลังจากดำเนินการบล็อก try-catchมันดำเนินการก่อนที่วัตถุจะถูกทำลาย

ฉันหวังว่าใน Final Final และ Finalize ใน Java นี้ฉันสามารถล้างแนวคิดและช่วยคุณในการเพิ่มมูลค่าให้กับความรู้ของคุณ

หากคุณพบบทความนี้เกี่ยวกับ“ Final, สุดท้ายและสุดท้ายใน Java ” เกี่ยวข้อง ตรวจสอบไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ซึ่งมีเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของสิ่งนี้ ขั้นสุดท้ายสุดท้ายและขั้นสุดท้ายใน Java และเราจะติดต่อกลับ