// คำสั่งดำเนินการ: (ลำดับความสำคัญจากสูงถึงต่ำ)
บล็อกรหัสคงที่> วิธีการ MIAN> สร้างบล็อกโค้ด> วิธีการสร้าง
บล็อกรหัสคงที่จะดำเนินการเพียงครั้งเดียว บล็อกรหัสที่สร้างขึ้นจะดำเนินการทุกครั้งที่วัตถุถูกสร้างขึ้น
1. บล็อกรหัสสามัญ
โมฆะคงที่สาธารณะหลัก (สตริง [] args) {/ * บล็อกรหัสสามัญ: * กำหนดโดยตรงในเมธอดหรือคำสั่ง "{คำสั่งการดำเนินการรหัสสามัญ}" ปรากฏในเมธอดหรือคำสั่งเรียกว่าบล็อกรหัสสามัญ *ลำดับการดำเนินการของบล็อกรหัสสามัญถูกกำหนดโดยลำดับที่ปรากฏในรหัส - "ปรากฏตัวครั้งแรกก่อน" */{system.out.println ("นี่คือบล็อกรหัสธรรมดา A");} // ใหม่ a (); {system.out.println (" ผลการดำเนินการ: นี่คือรหัสปกติบล็อกก
นี่คือบล็อกรหัสปกติ b
2. บล็อกรหัสคงที่และบล็อกรหัสการก่อสร้าง
บล็อกของรหัสที่ประกาศโดยใช้คำหลักคงที่ใน Java
มันมักจะใช้ในการเริ่มต้นคลาส แต่ละบล็อกรหัสสแตติกจะถูกเรียกใช้งานเพียงครั้งเดียว (คลาสจะดำเนินการเมื่อโหลดในหน่วยความจำและคลาสแล้วจะมีอยู่แล้วหลังจากที่คลาสถูกโหลดในหน่วยความจำ) เนื่องจาก JVM จะเรียกใช้บล็อกรหัสสแตติกเมื่อโหลดคลาสบล็อกรหัสคงที่จะถูกเรียกใช้ก่อนวิธีการหลัก หากคลาสมีบล็อกรหัสสแตติกหลายตัวมันจะถูกเรียกใช้ก่อนโดย "รหัสที่กำหนดไว้ก่อนจากนั้นรหัสที่กำหนดจะถูกเรียกใช้ในภายหลัง
PS:
1 บล็อกสแตติกไม่สามารถมีอยู่ในวิธีการใด ๆ
2 บล็อกรหัสสแตติกไม่สามารถเข้าถึงตัวแปรอินสแตนซ์คงที่และวิธีการอินสแตนซ์โดยตรงและจำเป็นต้องเข้าถึงผ่านวัตถุอินสแตนซ์ของคลาส
บล็อกการก่อสร้าง: บล็อกรหัสที่กำหนดโดยตรงในชั้นเรียนและไม่มีคำหลักคงที่เรียกว่าบล็อกรหัสการก่อสร้าง {}
บล็อกรหัสคอนสตรัคเตอร์ถูกเรียกเมื่อสร้างวัตถุและทุกครั้งที่วัตถุถูกสร้างขึ้นจะถูกเรียกและลำดับการดำเนินการของบล็อกรหัสคอนสตรัคเตอร์จะมีความสำคัญเหนือกว่าตัวสร้างคลาส
โครงสร้างคลาสสาธารณะ {{system.out.println ("นี่คือบล็อกรหัสปกติ"); // มีตัวสร้างเริ่มต้นในทุกคลาส บล็อกรหัสที่นี่คือบล็อกรหัสคอนสตรัคเตอร์ซึ่งดำเนินการเมื่อวัตถุในคลาสถูกสร้างขึ้น} โมฆะคงที่สาธารณะ (สตริง [] args) {/ * บล็อกรหัสสามัญ: * กำหนดโดยตรงในวิธีการหรือคำสั่ง "{คำสั่งการดำเนินการรหัสทั่วไป}" ปรากฏในวิธีการหรือคำสั่ง *ลำดับการดำเนินการของบล็อกรหัสสามัญถูกกำหนดโดยลำดับที่ปรากฏในรหัส - "ปรากฏตัวครั้งแรกก่อน" */{system.out.println ("นี่คือบล็อกรหัสธรรมดา A");} โครงสร้างใหม่ (); // บล็อกรหัสคงที่ไม่ได้ดำเนินการเมื่อคลาสที่สองโหลด // ใหม่ A (); b ");}} คงที่ {system.out.println (" นี่คือบล็อกรหัสคงที่ ");}} ผลการดำเนินการ:
นี่คือบล็อกรหัสแบบคงที่ // พิเศษสำหรับฟังก์ชั่นหลักที่นี่คือรหัสปกติบล็อกก
นี่คือบล็อกรหัสปกติ // วัตถุในคลาสจะถูกดำเนินการเมื่อสร้างขึ้น ทุกครั้งที่มีการสร้างโครงสร้างใหม่ () จะถูกเพิ่มเข้ามา ผลการดำเนินการคือ:
นี่คือบล็อกรหัสปกติ b
3. สรุป
โครงสร้างคลาสสาธารณะ {{system.out.println ("นี่คือบล็อกรหัสปกติ");} โมฆะคงที่สาธารณะหลัก (สตริง [] args) {{system.out.println ("นี่คือรหัสปกติบล็อก A");} // โครงสร้างใหม่ () b ");}} คงที่ {system.out.println (" นี่คือบล็อกรหัสสแตติก ");}} คลาส A {คงที่ {system.out.println (" นี่คือบล็อกรหัสคงที่ปกติ 1 ใน ") a ");}} ผลการดำเนินการ:
นี่คือบล็อกรหัสคงที่นี่คือรหัสรหัสปกติ
นี่คือรหัสสแตติกแบบคงที่ปกติ 1 ในก
นี่คือรหัสปกติบล็อก 1 ใน
นี่คือรหัสปกติบล็อก 2 ใน
นี่คือบล็อกรหัสปกติ b
สรุปลำดับความสำคัญ: บล็อกรหัสคงที่> main ()> สร้างบล็อกรหัส