1. ตัวแปรคงที่ที่ใช้ในสแตติกในชวา
1. สมาชิกใน Java ที่ได้รับการแก้ไขโดยคงที่เรียกว่าสมาชิกคงที่หรือสมาชิกชั้นเรียน มันเป็นของทั้งชั้นเรียนไม่ใช่วัตถุนั่นคือมันถูกแบ่งปันโดยวัตถุทั้งหมดของคลาสและมีความสำคัญเหนือวัตถุ สมาชิกคงที่สามารถเข้าถึงได้โดยตรงโดยใช้ชื่อคลาสหรือชื่อวัตถุ ใช้แบบคงที่เพื่อแก้ไขตัวแปรวิธีการและบล็อกรหัส
2. ตัวดัดแปลงสาธารณะแสดงถึงตัวแปรสาธารณะและสาธารณะและตัวแปรคงที่จะถูกแก้ไขด้วยตัวแปรคงที่
3. ในวิธีการคงที่สมาชิกคงที่ในคลาสเดียวกันสามารถเรียกได้โดยตรง แต่สมาชิกที่ไม่คงที่ไม่สามารถเรียกได้โดยตรง
ชั้นเรียนสาธารณะ Hellworld {string name = "java"; // Hobby String String ที่ไม่คงที่ตัวแปร = "การเขียนโปรแกรม"; // ตัวแปรสแตติก public public static print () {system.out.println ("ยินดีต้อนรับ:" + name + "!"); // ตัวแปรที่ไม่ใช่แบบคงที่ System.out.println ("ยินดีต้อนรับ:" + Hobby + "!"); // สามารถเรียกตัวแปรคงที่โดยตรง}}4. หากคุณต้องการเรียกตัวแปรที่ไม่คงที่ในวิธีการคงที่คุณสามารถสร้างวัตถุของคลาสแล้วเข้าถึงตัวแปรที่ไม่คงที่ผ่านวัตถุ
ชั้นเรียนสาธารณะ HelloWorld {String name = "Java"; // ตัวแปรที่ไม่ใช่แบบคงที่สตริงคงที่งานอดิเรก = "โปรแกรม"; // ตัวแปรคงที่ // การเรียกตัวแปรที่ไม่คงที่สาธารณะคงที่การพิมพ์แบบคงที่สาธารณะ () {// การสร้างวัตถุของคลาส HelloWorld hello = helloWorld ใหม่ (); // ใช้วัตถุเพื่อเรียกใช้ตัวแปรที่ไม่ใช่แบบคงที่ system.out.println ในวิธีการคงที่ ("ยินดีต้อนรับ:"+hello.name+"!"); // ในวิธีการคงที่คุณสามารถโทรหาตัวแปรคงที่ System.out.printn โดยตรง ("ยินดีต้อนรับสู่"+โปรแกรม+""+hello.name); -5. ในวิธีการสมาชิกสามัญคุณสามารถเข้าถึงตัวแปรที่ไม่คงที่และตัวแปรคงที่ชนิดเดียวกันโดยตรง
ชั้นเรียนสาธารณะ Hellworld {string name = "java"; // งานอดิเรกสตริงคงที่ตัวแปรที่ไม่คงที่ = "การเขียนโปรแกรม"; // void public Public Print () {// วิธีการปกติ System.out.println ("ยินดีต้อนรับ:" + name + "!"); System.out.prinltn ("ยินดีต้อนรับสู่ชอบ"+โปรแกรม+"+hello.name);}}6. วิธีที่ไม่คงที่ไม่สามารถเรียกได้โดยตรงในวิธีการคงที่ ต้องเข้าถึงวิธีการที่ไม่คงที่ผ่านวัตถุ
ชั้นเรียนสาธารณะ Hellworld {String name = "java"; // ตัวแปรที่ไม่คงที่สตริงคงที่งานอดิเรก = "โปรแกรม"; // ตัวแปรคงที่ // วิธีที่ไม่ใช่แบบคงที่โมฆะแสดงโมฆะสาธารณะ () {system.out.println ("ฉันเป็นวิธีที่ไม่คงที่และไม่สามารถเรียกได้โดยตรงโดยวิธีการคงที่ .... "); } // วิธีการคงที่สาธารณะโมฆะคงที่ show2 () {system.out.println ("ฉันเป็นวิธีคงที่และสามารถเรียกได้โดยตรงโดยวิธีการคงที่"); } // วิธีที่ไม่คงที่ถูกเรียกผ่านวัตถุในวิธีการคงที่ คุณสามารถเรียกใช้วิธีการคงที่สาธารณะแบบคงที่การพิมพ์แบบคงที่ () {// สร้างวัตถุของคลาส HelloWorld สวัสดี = new HelloWorld (); // คำนวณวิธีที่ไม่คงที่ hello.show () ในวิธีการคงที่; // คำนวณวิธีการคงที่ show2 (); -2. บล็อกการเริ่มต้นแบบคงที่ที่ใช้ใน Java
1. ในการประกาศคลาสสามารถรวมบล็อกการเริ่มต้นหลายบล็อกได้ เมื่ออินสแตนซ์ของคลาสถูกสร้างขึ้นบล็อกของรหัสเหล่านี้จะถูกเรียกใช้งานในทางกลับกัน หากคุณใช้สแตติกเพื่อแก้ไขบล็อกการเริ่มต้นจะเรียกว่าบล็อกการเริ่มต้นแบบคงที่
2. ความแตกต่างระหว่างตัวแปรอินสแตนซ์และตัวแปรคลาส:
A) ที่เก็บตำแหน่ง: ตัวแปรคลาสจะถูกเก็บไว้ในพื้นที่วิธีการเนื่องจากคลาสถูกโหลด ตัวแปรอินสแตนซ์มีอยู่ในหน่วยความจำฮีปเมื่อมีการสร้างวัตถุ
b) วัฏจักรชีวิต: วงจรชีวิตของตัวแปรคลาสนั้นยาวที่สุดและหายไปเมื่อชั้นเรียนหายไป; วงจรชีวิตของตัวแปรอินสแตนซ์หายไปเมื่อวัตถุหายไป
3. บล็อกการเริ่มต้นแบบคงที่จะดำเนินการเฉพาะเมื่อมีการโหลดคลาสและจะถูกเรียกใช้งานเพียงครั้งเดียว ในเวลาเดียวกันบล็อกการเริ่มต้นแบบคงที่สามารถกำหนดค่าให้กับตัวแปรคงที่และไม่สามารถเริ่มต้นตัวแปรสมาชิกสามัญ เมื่อโปรแกรมกำลังทำงานการเริ่มต้นแบบคงที่อย่างรวดเร็วจะถูกดำเนินการครั้งแรกและมีความสำคัญกว่าฟังก์ชั่นหลักจากนั้นบล็อกการเริ่มต้นปกติจะถูกดำเนินการและในที่สุดวิธีการก่อสร้างจะถูกดำเนินการ
คลาสสาธารณะ StaticDemo {int num1; // ประกาศตัวแปร 1 int num2; // ประกาศตัวแปร 2 int คงที่ num3; // ประกาศตัวแปรคงที่ 3 public staticDemo () {// วิธีการสร้าง num1 = 88; System.out.println ("กำหนดค่าให้กับตัวแปร 1 ด้วยวิธีการก่อสร้าง"); } {// การเริ่มต้นบล็อก num2 = 99; System.out.println ("กำหนดค่าให้กับตัวแปร 2 ผ่านการเริ่มต้นบล็อก"); } คงที่ {// การเริ่มต้นแบบคงที่ที่นี่คุณไม่สามารถ giel ตัวแปรปกติกำหนดค่า num3 = 77; System.out.println ("กำหนดค่าให้กับตัวแปรสแตติก 3 ผ่านบล็อกการเริ่มต้นแบบคงที่"); } โมฆะคงที่สาธารณะหลัก (สตริง [] args) {staticDemo สวัสดี = ใหม่ staticDemo (); // สร้างวัตถุของคลาส hello system.out.println ("num1:" + hello.num1); System.out.println ("num2:" + hello.num2); System.out.println ("num3:" + hello.num3); StaticDemo hello1 = new StaticDemo (); - ผลการทำงาน: