สวัสดีเพื่อนร่วมงาน ฉันตัดสินใจที่จะแสดงหลายวิธีในการเริ่มต้นฟิลด์ใน Java บทความนี้อาจเป็นประโยชน์สำหรับผู้ที่เพิ่งเริ่มเรียนการเขียนโปรแกรม
หากต้องการรันตัวอย่างสาธิต เรามาสร้างคลาส Java Demoด้วย เมธอด main() กันดี กว่า ใน เมธอด main()เราจะพิมพ์บางอย่างลงบนหน้าจอเพื่อให้แน่ใจว่าโปรแกรมทำงาน:
เราจะถ่ายทอดคุณค่าที่แท้จริงไปยังสาขาของเราได้อย่างไร (เช่น ชื่อ "ทอม" และอายุ "สองปี")? วิธีแรกคือการเริ่มต้นฟิลด์ทันทีระหว่างการประกาศ:
เรามาเพิ่ม Constructor ว่างๆ ที่ไม่มีพารามิเตอร์เพื่อให้ตัวอย่างก่อนหน้านี้ใช้งานได้ ในวิธีนี้
public class Demo {
public static void main(String[] args) {
System.out.println("Hello JavaRush.");
}
}
ต่อไป เรามาสร้างคลาส Java cat และเพิ่มฟิลด์ต่างๆ ลงไป: ชื่อ, อายุ
class Cat {
String name;
int age;
}
ในวิธีนี้main()
เราจะสร้างแมวสองตัวขึ้นมา ลองแสดงชื่อและอายุของพวกเขา:
public class Demo {
public static void main(String[] args) {
Cat cat1 = new Cat();
Cat cat2 = new Cat();
System.out.println("Name первого кота: " + cat1.name);
System.out.println("Возраст первого кота: " + cat1.age);
System.out.println();
System.out.println("Name второго кота: " + cat2.name);
System.out.println("Возраст второго кота: " + cat2.age);
}
}
class Cat {
String name;
int age;
}
เมื่อรันโปรแกรมเราจะได้ผลลัพธ์ดังนี้:
Name первого кота: null
Возраст первого кота: 0
Name второго кота: null
Возраст второго кота: 0
เนื่องจากเราไม่ได้เริ่มต้นฟิลด์เหล่านี้ พวกเขาจึงได้รับค่าเริ่มต้น String
อ้างอิงถึงประเภทการอ้างอิง และสำหรับประเภทการอ้างอิงทั้งหมด ค่าเริ่มต้นnull
คือ int
เป็นของประเภทดั้งเดิม ประเภทดั้งเดิมแต่ละประเภทมีค่าเริ่มต้นของตัวเอง:

public class Demo {
public static void main(String[] args) {
Cat cat1 = new Cat();
Cat cat2 = new Cat();
System.out.println("Name первого кота: " + cat1.name);
System.out.println("Возраст первого кота: " + cat1.age);
System.out.println();
System.out.println("Name второго кота: " + cat2.name);
System.out.println("Возраст второго кота: " + cat2.age);
}
}
class Cat {
String name = "Том";
int age = 2;
}
เรารันโปรแกรมและเห็นว่าฟิลด์ต่างๆ ได้รับการเตรียมใช้งานด้วยค่าของเรา:
Name первого кота: Том
Возраст первого кота: 2
Name второго кота: Том
Возраст второго кота: 2
ยิ่งไปกว่านั้นไม่ว่าเราจะสร้างแมวมากี่ตัวก็ตาม พวกมันล้วนมีชื่อและอายุเท่ากัน นั่นคือเราเพียงแค่เปลี่ยนค่า null และ 0 เป็น "ปริมาตร" และ 2 วิธีการเริ่มต้นถัดไปคือผ่านตัวสร้าง มาสร้างคอนสตรัคเตอร์สำหรับ cat ด้วยพารามิเตอร์สองตัวกัน โดยปกติแล้วชื่อพารามิเตอร์จะเหมือนกับชื่อฟิลด์ ในกรณีนี้ คุณต้องใช้คำเพื่ออ้างถึงช่องต่างๆthis
และสามารถเข้าถึงพารามิเตอร์ตัวสร้างได้ตามปกติ:
public Cat(String name, int age) {
this.name = name;
this.age = age;
}
อีกครั้ง:

main()
เราจะเพิ่มแมวอีกสองตัวโดยใช้ตัวสร้างพร้อมพารามิเตอร์
public class Demo {
public static void main(String[] args) {
Cat cat1 = new Cat();
Cat cat2 = new Cat();
System.out.println("Name первого кота: " + cat1.name);
System.out.println("Возраст первого кота: " + cat1.age);
System.out.println();
System.out.println("Name второго кота: " + cat2.name);
System.out.println("Возраст второго кота: " + cat2.age);
Cat cat3 = new Cat("Рыжик", 5);
Cat cat4 = new Cat("Barsik", 9);
System.out.println();
System.out.println("Name третьего кота: " + cat3.name);
System.out.println("Возраст третьего кота: " + cat3.age);
System.out.println();
System.out.println("Name четвертого кота: " + cat4.name);
System.out.println("Возраст четвертого кота: " + cat4.age);
}
}
class Cat {
String name;
int age;
public Cat(String name, int age) {
this.name = name;
this.age = age;
}
public Cat() {
}
}
มารันโปรแกรมกันเถอะ:
Name первого кота: null
Возраст первого кота: 0
Name второго кота: null
Возраст второго кота: 0
Name третьего кота: Рыжик
Возраст третьего кота: 5
Name четвертого кота: Барсик
Возраст четвертого кота: 9
อย่างที่คุณเห็นแมวที่สร้างขึ้นในลักษณะนี้มีเอกลักษณ์เฉพาะตัวมากกว่า มีวิธีอื่นในการเริ่มต้นฟิลด์ใน Java แต่สิ่งเหล่านี้ก็เพียงพอที่จะช่วยให้คุณเริ่มต้นได้
GO TO FULL VERSION