Вітаю, колеги. Вирішив показати кілька способів ініціалізації полів 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("Ім'я первого кота: " + cat1.name);
System.out.println("Возраст первого кота: " + cat1.age);
System.out.println();
System.out.println("Ім'я второго кота: " + cat2.name);
System.out.println("Возраст второго кота: " + cat2.age);
}
}
class Cat {
String name;
int age;
}
Запустивши програму, отримаємо висновок:
Ім'я первого кота: null
Возраст первого кота: 0
Ім'я второго кота: 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("Ім'я первого кота: " + cat1.name);
System.out.println("Возраст первого кота: " + cat1.age);
System.out.println();
System.out.println("Ім'я второго кота: " + cat2.name);
System.out.println("Возраст второго кота: " + cat2.age);
}
}
class Cat {
String name = "Том";
int age = 2;
}
Запускаємо програму та бачимо, що поля ініціалізовані нашими значеннями:
Ім'я первого кота: Том
Возраст первого кота: 2
Ім'я второго кота: Том
Возраст второго кота: 2
При цьому скільки б котів ми не створювали, вони всі матимуть однакові ім'я та вік. Тобто ми просто змінабо значення null та 0 на “Том” та 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("Ім'я первого кота: " + cat1.name);
System.out.println("Возраст первого кота: " + cat1.age);
System.out.println();
System.out.println("Ім'я второго кота: " + cat2.name);
System.out.println("Возраст второго кота: " + cat2.age);
Cat cat3 = new Cat("Рыжик", 5);
Cat cat4 = new Cat("Барсик", 9);
System.out.println();
System.out.println("Ім'я третьего кота: " + cat3.name);
System.out.println("Возраст третьего кота: " + cat3.age);
System.out.println();
System.out.println("Ім'я четвертого кота: " + 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() {
}
}
Запустимо програму:
Ім'я первого кота: null
Возраст первого кота: 0
Ім'я второго кота: null
Возраст второго кота: 0
Ім'я третьего кота: Рыжик
Возраст третьего кота: 5
Ім'я четвертого кота: Барсик
Возраст четвертого кота: 9
Як бачимо, створені таким способом коти мають більшу індивідуальність. Існують і інші способи ініціалізації полів у Java, але, для початку достатньо і цих.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ