คุณสมบัติคลาส Java
คุณสมบัติคลาส Java
ในบทที่แล้ว เราใช้คำว่า "ตัวแปร" x
ในตัวอย่าง (ดังแสดงด้านล่าง) เป็น
คุณลักษณะของคลาสจริงๆ หรือคุณอาจพูดได้ว่าแอตทริบิวต์ของคลาสเป็นตัวแปรภายในคลาส:
ตัวอย่าง
สร้างคลาสชื่อ " Main
" ด้วยสองแอตทริบิวต์: x
และy
:
public class Main {
int x = 5;
int y = 3;
}
อีกคำหนึ่งสำหรับแอตทริบิวต์คลาสคือฟิลด์
การเข้าถึงคุณสมบัติ
คุณสามารถเข้าถึงแอตทริบิวต์ได้โดยการสร้างวัตถุของคลาส และโดยใช้ไวยากรณ์จุด ( .
):
ตัวอย่างต่อไปนี้จะสร้างวัตถุของ คลาสโดย ใช้Main
ชื่อ myObj
เราใช้x
แอตทริบิวต์บนวัตถุเพื่อพิมพ์ค่าของมัน:
ตัวอย่าง
สร้างวัตถุที่เรียกว่า " myObj
" และพิมพ์ค่าของx
:
public class Main {
int x = 5;
public static void main(String[] args) {
Main myObj = new Main();
System.out.println(myObj.x);
}
}
แก้ไขคุณสมบัติ
คุณยังสามารถแก้ไขค่าแอตทริบิวต์ได้:
ตัวอย่าง
ตั้งค่าx
เป็น 40:
public class Main {
int x;
public static void main(String[] args) {
Main myObj = new Main();
myObj.x = 40;
System.out.println(myObj.x);
}
}
หรือแทนที่ค่าที่มีอยู่:
ตัวอย่าง
เปลี่ยนค่าx
เป็น 25:
public class Main {
int x = 10;
public static void main(String[] args) {
Main myObj = new Main();
myObj.x = 25; // x is now 25
System.out.println(myObj.x);
}
}
หากคุณไม่ต้องการให้สามารถแทนที่ค่าที่มีอยู่ ให้ประกาศแอตทริบิวต์เป็นfinal
:
ตัวอย่าง
public class Main {
final int x = 10;
public static void main(String[] args) {
Main myObj = new Main();
myObj.x = 25; // will generate an error: cannot assign a value to a final variable
System.out.println(myObj.x);
}
}
คีย์เวิร์ด มีfinal
ประโยชน์เมื่อคุณต้องการให้ตัวแปรเก็บค่าเดิมไว้เสมอ เช่น PI (3.14159...)
คำfinal
หลักเรียกว่า "ตัวดัดแปลง" คุณจะได้เรียนรู้เพิ่มเติมเกี่ยวกับสิ่งเหล่านี้ในบทJava Modifiers
หลายวัตถุ
หากคุณสร้างหลายอ็อบเจ็กต์ของคลาสหนึ่ง คุณสามารถเปลี่ยนค่าแอททริบิวในออบเจกต์หนึ่งได้ โดยไม่กระทบกับค่าแอททริบิวในอีกอ็อบเจกต์:
ตัวอย่าง
เปลี่ยนค่าx
เป็น 25 ในmyObj2
และปล่อยไว้x
ไม่myObj1
เปลี่ยนแปลง:
public class Main {
int x = 5;
public static void main(String[] args) {
Main myObj1 = new Main(); // Object 1
Main myObj2 = new Main(); // Object 2
myObj2.x = 25;
System.out.println(myObj1.x); // Outputs 5
System.out.println(myObj2.x); // Outputs 25
}
}
หลายคุณสมบัติ
คุณสามารถระบุแอตทริบิวต์ได้มากเท่าที่คุณต้องการ:
ตัวอย่าง
public class Main {
String fname = "John";
String lname = "Doe";
int age = 24;
public static void main(String[] args) {
Main myObj = new Main();
System.out.println("Name: " + myObj.fname + " " + myObj.lname);
System.out.println("Age: " + myObj.age);
}
}
บทต่อไปจะสอนวิธีสร้างวิธีการเรียนและวิธีเข้าถึงด้วยวัตถุ