ตัวแปรคงที่ใน Java

ค่าคงที่สามารถเป็น:

  1. ตัวแปรคงที่
  2. วิธีการแบบคงที่
  3. บล็อกแบบคงที่ของรหัส

ลองดูที่ตัวแปรคงที่และวิธีการคงที่ก่อน

ตัวแปรคงที่คืออะไร Java?

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

  • สำเนาเดียวที่จะแชร์โดยทุกอินสแตนซ์ของชั้นเรียน
  • ตัวแปรคงที่สามารถเข้าถึงได้โดยตรงด้วยชื่อคลาส และไม่ต้องการวัตถุใดๆ

ไวยากรณ์:

<class-name>.<variable-name>

วิธีคงที่คืออะไร Java?

วิธีการคงที่ใน Java เป็นวิธีการที่เป็นของคลาสไม่ใช่ของวัตถุ วิธีการแบบคงที่สามารถเข้าถึงข้อมูลแบบคงที่เท่านั้น มันเป็นวิธีการที่เป็นของคลาสและไม่ใช่ของวัตถุ (อินสแตนซ์) วิธีการแบบคงที่สามารถเข้าถึงข้อมูลแบบคงที่เท่านั้น ไม่สามารถเข้าถึงข้อมูลที่ไม่คงที่ (ตัวแปรอินสแตนซ์).

  • วิธีการแบบคงที่สามารถเรียกได้เฉพาะวิธีการแบบคงที่อื่น ๆ และไม่สามารถเรียกวิธีการที่ไม่คงที่จากนั้นได้
  • วิธีการคงที่สามารถเข้าถึงได้โดยตรงด้วยชื่อคลาสและไม่ต้องการวัตถุใดๆ
  • วิธีการคงที่ไม่สามารถอ้างถึงคำหลัก “นี้” หรือ “สุดยอด” ได้อยู่แล้ว

ไวยากรณ์:

<class-name>.<method-name>

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

มาเรียนรู้ความแตกต่างของคำหลักแบบคงที่โดยทำแบบฝึกหัดกัน

ตัวอย่าง: วิธีการเรียกตัวแปรและวิธีการแบบคงที่

ขั้นตอน 1) คัดลอกโค้ดต่อไปนี้ลงในโปรแกรมแก้ไข

public class Demo{
   public static void main(String args[]){
     Student s1 = new Student();
     s1.showData();
     Student s2 = new Student();
     s2.showData();
     //Student.b++;
     //s1.showData();
  }
}

class Student {
int a; //initialized to zero
static int b; //initialized to zero only when class is loaded not for each object created.

  Student(){
   //Constructor incrementing static variable b
   b++;
  }

   public void showData(){
      System.out.println("Value of a = "+a);
      System.out.println("Value of b = "+b);
   }
//public static void increment(){
//a++;
//}

}

ขั้นตอน 2) บันทึกและคอมไพล์โค้ด รันโค้ดเป็น การสาธิตจาวา.

ขั้นตอน 3) ผลลัพธ์ที่คาดหวังจะแสดงด้านล่าง


Java วิธีการและตัวแปรแบบคงที่

แผนภาพต่อไปนี้แสดงให้เห็นวิธีสร้างตัวแปรอ้างอิงและวัตถุ รวมถึงวิธีเข้าถึงตัวแปรคงที่โดยอินสแตนซ์ต่างๆ


Java วิธีการและตัวแปรแบบคงที่

ขั้นตอน 4) เป็นไปได้ที่จะเข้าถึงตัวแปรคงที่จากภายนอกคลาสโดยใช้ไวยากรณ์ ClassName.Variable_Name- ไม่แสดงความคิดเห็นบรรทัดที่ 7 และ 8 บันทึก คอมไพล์ และรัน สังเกตผลลัพธ์

Value of a = 0
Value of b = 1
Value of a = 0
Value of b = 2
Value of a = 0
Value of b = 3

ขั้นตอน 5) ไม่มีข้อคิดเห็นบรรทัด 25,26 & 27 บันทึก คอมไพล์ และรัน

	 error: non-static variable a cannot be referenced from a static context a++; 

ขั้นตอน 6) ข้อผิดพลาด = ? เนื่องจากไม่สามารถเข้าถึงตัวแปรอินสแตนซ์ได้”a” จากเมธอดคลาส Java static “เพิ่มขึ้น"

Static Block คืออะไร Java?

การขอ บล็อกแบบคงที่ คือกลุ่มคำสั่งภายใน a Java คลาสที่จะถูกดำเนินการเมื่อมีการโหลดคลาสครั้งแรกลงใน JVM. บล็อกแบบคงที่ช่วยในการเริ่มต้นสมาชิกข้อมูลแบบคงที่เช่นเดียวกับตัวสร้างที่ช่วยในการเริ่มต้นสมาชิกอินสแตนซ์

class Test{
 static {
 //Code goes here
 }
}

โปรแกรมต่อไปนี้เป็นตัวอย่างของ Java static block

ตัวอย่าง: วิธีการเข้าถึงบล็อกแบบคงที่

public class Demo {
 static int a;
 static int b;
 static {
    a = 10;
    b = 20;
 }
 public static void main(String args[]) {

  System.out.println("Value of a = " + a);
  System.out.println("Value of b = " + b);

 	}
}

คุณจะได้รับผลลัพธ์ของโปรแกรมดังต่อไปนี้

Value of a = 10
Value of b = 20

สรุปโพสต์นี้ด้วย: