publicclassPerson {
privateStringname; // pole klasyprivateStringsurname; // pole klasypublicPerson(Stringname, Stringsurname) { // konstruktorthis.name = name;
this.surname = surname;
}
publicStringgetName() { // metodareturnname;
}
publicvoidsetName(Stringname) { // metodathis.name = name;
} }Nazewnictwo:
Nazwa klasy musi być taka sama (wielkość liter ma znaczenie) jak nazwa pliku *.java. Nazwa klasy powinna być połączenie rzeczownika i opcjonalnie
opisującego go przymiotnika - np. Person, LuxuryCar, itd.
Konstruktor bezargumentowy
publicclassPerson {
privateStringname;
privateStringsurname;
publicPerson() {
this.name = "";
this.surname = "";
}
}Konstruktor domyślny:
W przypadku, gdy w ciele klasy nie jest zdefiniowany żaden konstruktor, to automatycznie jest dostępny konstruktor domyślny, którym jest konstruktor bezargumentowy, który nie posiada żadnej implementacji w ciele konstruktora - ma on za zadanie jedynie powołać nowy obiekt do życia.
Przeciązanie konstruktorów:
W obrębie jednej klasy jest mozliwe definiowane wielu konstruktorów, jednakże muszą się one różnić liczbą lub typem argumentów. Tak, aby było możliwe jednoznaczne określenie, który konstruktor jest używany na podstawie przekazanych do niego argumentów.
publicclassPerson {
privateStringname;
privateStringsurname;
publicPerson() {
this.name = "";
this.surname = "";
}
publicPerson(Stringname) {
this.name = name;
this.surname = "";
}
publicPerson(Stringname, Stringsurname) {
this.name = name;
this.surname = surname;
}
}Parametry jawne i niejawne:
W przypadku konstruktora (analogicznie również w przypadku metod) parametrem jawnym sa argumenty podawane "w nawiasach", a parametrem niejawnym jest obiekt, na którym wykonujemy dane działanie. Aby odwołać się do parametru niejawnego, należy użyć słowa kluczowego this.
publicclassPerson {
privateStringname; // na to wskazuje w konstruktorze this.nameprivateStringsurname; // na to wskazuje w konstruktorze this.surnamepublicPerson(Stringname, Stringsurname) { // parametry jawne: name i surnamethis.name = name; // parametr niejawny: sam obiekt, który został stworzony przy użyciu konstruktorathis.surname = surname;
}
}nazewnictwo:
Pola klasy powinno się nazywać zgodnie z ich przeznaczeniem, tzn. pole przechowujące imię powinno się nazywać name,
a nie np. n, abc, itd. - tak aby w późniejszym czasie nie tracić czasu na doszukiwanie się przeznaczenia poszczególnych pól w klasie.
inicjacja pól
Sposób 1: konstruktor
publicclassPerson {
privateStringname; privateStringsurname; publicPerson(Stringname, Stringsurname) { // tutaj inicjalizacja pól this.name = name; this.surname = surname;
}
}Sposób 2: wartość domyślna przypisana za pomoca operatora =
publicclassPerson {
privateStringname = ""; privateStringsurname = ""; publicPerson() {} // pola name i surname mają przypisane pusty łańcuchpublicPerson(Stringname, Stringsurname) { // pola name i surname mają przypisane wartości this.name = name; // z parametrów jawnych this.surname = surname;
}
}Sposób 3: blok inicjalizacyjny
publicclassPerson {
privateStringname; privateStringsurname; {
name = "";
surname = "";
}
publicPerson() {} // pola name i surname mają przypisane pusty łańcuchpublicPerson(Stringname, Stringsurname) { // pola name i surname mają przypisane wartości this.name = name; // z parametrów jawnych this.surname = surname;
}
}