คำนำ
วันนี้เมื่อดูการใช้งาน Android ContentProvider ฉันก็นึกถึงการดำเนินการตามลำดับของโดเมนคงที่บล็อกคงที่บล็อกที่ไม่คงที่บล็อกที่ไม่ใช่แบบคงที่และฟังก์ชั่นที่สร้างสรรค์ในระหว่างกระบวนการใหม่ของคลาส Java ในความเป็นจริงนี่เป็นปัญหาที่คลาสสิกมากซึ่งได้รับการตรวจสอบอย่างมากเพื่อเข้าใจความรู้พื้นฐานของ Java ฉันเชื่อว่ายังมีปัญหาดังกล่าวในระหว่างกระบวนการสัมภาษณ์และใช้ประโยชน์จากเวลาในการตรวจสอบในช่วงสุดสัปดาห์
สรุปแล้ว
นี่คือข้อสรุปการเรียงลำดับสำหรับทุกคนจากนั้นฉันเขียนโปรแกรมเพื่อตรวจสอบข้อสรุปของเรา ในช่วงคลาส Java ที่ใหม่คำสั่งการดำเนินการมีดังนี้:
ในกระบวนการดำเนินการคลาสการสืบทอดลำดับการดำเนินการเริ่มต้นมีดังนี้:
ที่นี่คุณต้องแนะนำบล็อกรหัสแบบคงที่และบล็อกรหัสที่ไม่คงที่
1. บล็อกรหัสคงที่:
คงที่ {
-
2. บล็อกรหัสที่ไม่ใช่แบบคงที่
-
-
ความเหมือนและความแตกต่างระหว่างบล็อกรหัสคงที่และบล็อกรหัสที่ไม่คงที่มีดังนี้:
การตรวจสอบที่ดีที่สุดของการตรวจสอบข้อสรุปคือการเขียนรหัสเพื่อพิสูจน์ผลลัพธ์ ก่อนอื่นมาดูคำสั่งของการดำเนินการเมื่อคลาสมรดกเริ่มต้น
Public Class InitoderTest {Stration Static Static static_field = "คุณสมบัติคงที่"; -คุณสมบัติคงที่ "; // บล็อกที่ไม่คงที่ {system.out.println (ฟิลด์); System.out.println (" บล็อกรหัสที่ไม่ใช่ -คง โมฆะคงที่สาธารณะหลัก (สตริง [] args) {initodrtest test = new InitoderTest ();}} ผลการดำเนินการ:
ถัดไปเรามาตรวจสอบว่าเมื่อคลาส Java ได้รับการสืบทอดลำดับการดำเนินการจะสอดคล้องกับข้อสรุปของเรา รหัสทดสอบมีดังนี้:
parenttest คลาส {public String parent_static_field = "คุณสมบัติของผู้ปกครอง-สแตติก"; String parentfield = "คุณลักษณะของครอบครัว--สแตติก"; PAREATTEST () {System.out.println ("Family -Public Class InitoderTest ขยาย pareattTest {Public Stration Static_field =" แอตทริบิวต์คงที่ "; // บล็อกคงที่ {System.out .println (Static_field); system.out.out.println (" "" block code static ");} ฟิลด์สตริงสาธารณะ =" คุณสมบัติที่ไม่ใช่ -คงที่ "; // บล็อกที่ไม่คงที่ {system.out.println (ฟิลด์); system.out.pr. intln (" บล็อกรหัสที่ไม่ใช่ -คงที่ ")) ;} public initoderTest () {system.out.println ("portomless constructor");ผลการดำเนินการมีดังนี้: