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


