Pozdrawiam, koledzy. Postanowiłem pokazać kilka sposobów inicjowania pól w Javie. Artykuł może być przydatny dla osób, które dopiero rozpoczynają naukę programowania. Aby uruchomić przykłady demonstracyjne, utwórzmy klasę Java Demo z metodą main() . W metodzie main() wypiszemy coś na ekranie, aby upewnić się, że program działa:
Jak możemy przekazać do naszych pól rzeczywiste wartości (np. imię „Tomek” i wiek „dwa lata”)? Pierwszy sposób polega na inicjalizacji pól natychmiast w trakcie deklaracji:
Dodajmy także pusty konstruktor bez parametrów, aby nasz poprzedni przykład zadziałał. W metodzie
public class Demo {
public static void main(String[] args) {
System.out.println("Hello JavaRush.");
}
}
Następnie utwórzmy klasę cat w Javie i dodajmy do niej kilka pól: imię, wiek.
class Cat {
String name;
int age;
}
W metodzie main()
stworzymy dwa koty. Spróbujmy wyświetlić ich imię i wiek:
public class Demo {
public static void main(String[] args) {
Cat cat1 = new Cat();
Cat cat2 = new Cat();
System.out.println("Nazwa первого кота: " + cat1.name);
System.out.println("Возраст первого кота: " + cat1.age);
System.out.println();
System.out.println("Nazwa второго кота: " + cat2.name);
System.out.println("Возраст второго кота: " + cat2.age);
}
}
class Cat {
String name;
int age;
}
Uruchamiając program, otrzymujemy wynik:
Nazwa первого кота: null
Возраст первого кота: 0
Nazwa второго кота: null
Возраст второго кота: 0
Ponieważ nie zainicjowaliśmy tych pól, otrzymały one wartości domyślne. String
odnosi się do typów referencyjnych, a dla wszystkich typów referencyjnych wartością domyślną jest null
. int
należy do typów pierwotnych. Każdy typ pierwotny ma swoją własną wartość domyślną:
public class Demo {
public static void main(String[] args) {
Cat cat1 = new Cat();
Cat cat2 = new Cat();
System.out.println("Nazwa первого кота: " + cat1.name);
System.out.println("Возраст первого кота: " + cat1.age);
System.out.println();
System.out.println("Nazwa второго кота: " + cat2.name);
System.out.println("Возраст второго кота: " + cat2.age);
}
}
class Cat {
String name = "Том";
int age = 2;
}
Uruchamiamy program i widzimy, że pola są inicjalizowane naszymi wartościami:
Nazwa первого кота: Том
Возраст первого кота: 2
Nazwa второго кота: Том
Возраст второго кота: 2
Co więcej, niezależnie od tego, ile kotów stworzymy, wszystkie będą miały to samo imię i wiek. Oznacza to, że po prostu zmieniliśmy wartości null i 0 na „Volume” i 2. Następna metoda inicjalizacji odbywa się za pomocą konstruktora. Stwórzmy konstruktor dla kota z dwoma parametrami. Zwykle nazwy parametrów są takie same jak nazwy pól. W takim przypadku należy użyć słowa w odniesieniu do pól this
, a dostęp do parametrów konstruktora można uzyskać w zwykły sposób:
public Cat(String name, int age) {
this.name = name;
this.age = age;
}
Ponownie:
main()
dodamy jeszcze dwa koty za pomocą konstruktora z parametrami.
public class Demo {
public static void main(String[] args) {
Cat cat1 = new Cat();
Cat cat2 = new Cat();
System.out.println("Nazwa первого кота: " + cat1.name);
System.out.println("Возраст первого кота: " + cat1.age);
System.out.println();
System.out.println("Nazwa второго кота: " + cat2.name);
System.out.println("Возраст второго кота: " + cat2.age);
Cat cat3 = new Cat("Рыжик", 5);
Cat cat4 = new Cat("Barsik", 9);
System.out.println();
System.out.println("Nazwa третьего кота: " + cat3.name);
System.out.println("Возраст третьего кота: " + cat3.age);
System.out.println();
System.out.println("Nazwa четвертого кота: " + 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() {
}
}
Uruchommy program:
Nazwa первого кота: null
Возраст первого кота: 0
Nazwa второго кота: null
Возраст второго кота: 0
Nazwa третьего кота: Рыжик
Возраст третьего кота: 5
Nazwa четвертого кота: Барсик
Возраст четвертого кота: 9
Jak widać, stworzone w ten sposób koty mają większą indywidualność. Istnieją inne sposoby inicjowania pól w Javie, ale na początek wystarczą one.
GO TO FULL VERSION