หากคุณมีประสบการณ์มาก่อน คุณอาจสังเกตเห็นว่าผู้สัมภาษณ์มักจะถามคำถามที่ยุ่งยากซึ่งมักจะหยิบขึ้นมาจากแนวคิดพื้นฐาน คำถามหนึ่งที่มักถามกันมากคือการแยกความแตกต่างระหว่างขั้นสุดท้ายสุดท้ายและขั้นสุดท้าย . ผ่านสื่อของบทความนี้ฉันจะวาดเส้นที่ชัดเจนระหว่างขั้นสุดท้ายสุดท้ายและขั้นสุดท้ายใน Java ซึ่งจะช่วยให้คุณได้รับข้อมูลเชิงลึกที่ดีขึ้น
ในบทความนี้ฉันจะกล่าวถึงหัวข้อต่อไปนี้:
ดังนั้นเรามาเริ่มต้นด้วยคำหลักแรกในรายการสุดท้ายสุดท้ายและสุดท้ายใน Java
คำหลักสุดท้าย
ใน Java สุดท้ายคือคีย์เวิร์ดที่สามารถใช้เป็นตัวแก้ไขการเข้าถึงได้ กล่าวคือคำหลักสุดท้ายถูกใช้เพื่อ จำกัด การเข้าถึงของผู้ใช้ สามารถใช้ในบริบทต่างๆเช่น:
ด้วยแต่ละคำหลักคำหลักสุดท้ายมีผลที่แตกต่างกัน ตอนนี้เรามาดูกันว่ามันส่งผลต่อแต่ละรายการอย่างไร
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 Handling | Finalize เป็นวิธีการใน 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 และเราจะติดต่อกลับ