שלום, עמיתים. החלטתי להראות מספר דרכים לאתחול שדות ב-Java. המאמר עשוי להיות שימושי עבור אלה שרק התחילו ללמוד תכנות. כדי להפעיל דוגמאות הדגמה, בואו ניצור מחלקת Java Demo עם שיטה main() . בשיטה main() נדפיס משהו למסך כדי לוודא שהתוכנית פועלת:
איך נוכל להעביר ערכים אמיתיים לתחומים שלנו (למשל השם "טום" והגיל "בן שנתיים")? הדרך הראשונה היא לאתחל את השדות מיד במהלך ההצהרה:
בואו נוסיף גם בנאי ריק ללא פרמטרים כדי שהדוגמה הקודמת שלנו תעבוד. בשיטה
public class Demo {
public static void main(String[] args) {
System.out.println("Hello JavaRush.");
}
}
לאחר מכן, בואו ניצור כיתת חתולים של Java ונוסיף לה מספר שדות: שם, גיל.
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 ל-"Volume" ו-2. שיטת האתחול הבאה היא דרך הבנאי. בואו ניצור קונסטרוקטור לחתול עם שני פרמטרים. בדרך כלל שמות הפרמטרים נעשים זהים לשמות השדות. במקרה זה, עליך להשתמש במילה כדי להתייחס לשדות 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