Metoda konstruktora
Część sekcji Programowanie obiektowe ścieżki Java w Coddy. Lekcja 7 z 87.
Konstruktor to specjalna metoda, która uruchamia się automatycznie, gdy tworzysz obiekt za pomocą new. Ma taką samą nazwę jak klasa i nie ma typu zwracanego.
Podstawowy konstruktor
public class Book {
private String title;
private String author;
public Book(String title, String author) {
this.title = title;
this.author = author;
}
}Konstruktor domyślny (bez parametrów)
public class Book {
private String title;
public Book() {
this.title = "Unknown";
}
}Konstruktor inicjalizuje stan obiektu
Book book = new Book("1984", "Orwell");
// Konstruktor uruchamia się natychmiast, a pola otrzymują wartościJeśli nie napiszesz konstruktora, Java zapewni domyślny, pusty konstruktor. Gdy napiszesz dowolny konstruktor, domyślny nie będzie już dostarczany automatycznie.
Wyzwanie
ŚredniUtwórz klasę Book z konstruktorem, który inicjalizuje wszystkie pola:
- Prywatne pola:
title,author(String),pages(int) - Konstruktor, który przyjmuje wszystkie trzy wartości i przypisuje je za pomocą
this - Metody pobierające dla każdego pola
- Metoda
getSummary()zwracająca"<title> by <author> (<pages> pages)"
Spróbuj swoich sił
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String title = scanner.nextLine();
String author = scanner.nextLine();
int pages = Integer.parseInt(scanner.nextLine());
Book book = new Book(title, author, pages);
System.out.println("Title: " + book.getTitle());
System.out.println("Author: " + book.getAuthor());
System.out.println("Pages: " + book.getPages());
System.out.println(book.getSummary());
}
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Programowanie obiektowe
1Podstawy programowania obiektowego
Pliki zewnętrzneWprowadzenie do programowania obiektowegoKlasy a obiektySłowo kluczowe thisMetodyPola (atrybuty)Metoda konstruktoraPrzeciążanie konstruktoraPodsumowanie — prosty kalkulator4Dziedziczenie
Podstawy dziedziczenia (extends)Słowo kluczowe superPrzesłanianie metod (@Override)Łańcuch wywołań konstruktorówKlasa ObjectDziedziczenie jedno- i wielopoziomoweDlaczego Java nie obsługuje wielodziedziczenia klasPodsumowanie – hierarchia pracowników7Metody specjalne i klasa Object
Metoda toString()equals() i hashCode()Metoda clone()compareTo() i ComparableInterfejs ComparatorPodsumowanie — własne sortowanie10Obsługa wyjątków w programowaniu obiektowym
Hierarchia klas wyjątkówWłasne wyjątkiBłędy sprawdzane a niesprawdzaneWzorzec try-with-resourcesPodsumowanie – zweryfikowany użytkownik2Modyfikatory dostępu i enkapsulacja
Przegląd poziomów dostępuMetody pobierające i ustawiająceUkrywanie informacjiSłowo kluczowe finalPodsumowanie — menedżer kont bankowych5Polimorfizm
Podstawy przeciążania metodPrzesłanianie metod (w czasie wykonywania)Rzutowanie w górę i w dółOperator instanceofKlasy i metody abstrakcyjnePowtórka — kalkulator figur8Zaawansowane koncepcje OOP
Kompozycja a dziedziczenieAgregacja a kompozycjaKlasy wewnętrzne, zagnieżdżone i anonimoweEnumy i metody enumówRekordy (Java 16+)Klasy zapieczętowane (Java 17+)11Wzorce projektowe — część 1
Wprowadzenie do wzorców projektowychWzorzec SingletonWzorzec FactoryWzorzec BuilderWzorzec ObserverWzorzec Strategy3Właściwości klas i składowe statyczne
Zmienne instancji a zmienne statyczneMetody statyczneBloki statyczneStałe (static final)Powtórka – Counter i Utility6Interfejsy i klasy abstrakcyjne
Wprowadzenie do interfejsówImplementowanie interfejsówImplementacja wielu interfejsówMetody domyślne i statyczne w interfejsieKlasy abstrakcyjne a interfejsyInterfejsy funkcyjnePodsumowanie — system płatnościPoćwicz samodzielnie: Kompilator Java online