Konstruktor-Methode
Teil des Abschnitts Objektorientierte Programmierung der Java-Journey von Coddy — Lektion 7 von 87.
Ein Konstruktor ist eine spezielle Methode, die automatisch ausgeführt wird, wenn Sie ein Objekt mit new erstellen. Er hat denselben Namen wie die Klasse und keinen Rückgabetyp.
Einfacher Konstruktor
public class Book {
private String title;
private String author;
public Book(String title, String author) {
this.title = title;
this.author = author;
}
}Standardkonstruktor (keine Parameter)
public class Book {
private String title;
public Book() {
this.title = "Unknown";
}
}Der Konstruktor initialisiert den Zustand des Objekts
Book book = new Book("1984", "Orwell");
// Konstruktor wird sofort ausgeführt, Felder werden gesetztWenn Sie keinen Konstruktor schreiben, stellt Java einen leeren Standardkonstruktor zur Verfügung. Sobald Sie irgendeinen Konstruktor schreiben, wird der Standardkonstruktor nicht mehr automatisch bereitgestellt.
Aufgabe
MittelErstellen Sie eine Book-Klasse mit einem Konstruktor, der alle Felder initialisiert:
- Private Felder:
title,author(String),pages(int) - Ein Konstruktor, der alle drei Werte entgegennimmt und sie mit
thiszuweist - Getter-Methoden für jedes Feld
- Eine
getSummary()-Methode, die"<title> by <author> (<pages> pages)"zurückgibt
Spickzettel
Ein Konstruktor ist eine spezielle Methode, die automatisch ausgeführt wird, wenn Sie ein Objekt mit new erstellen. Er hat denselben Namen wie die Klasse und keinen Rückgabetyp.
Basis-Konstruktor:
public class Book {
private String title;
private String author;
public Book(String title, String author) {
this.title = title;
this.author = author;
}
}Standardkonstruktor (ohne Parameter):
public class Book {
private String title;
public Book() {
this.title = "Unknown";
}
}Verwendung eines Konstruktors zur Erstellung eines Objekts:
Book book = new Book("1984", "Orwell");
// Konstruktor wird sofort ausgeführt, Felder werden gesetztWenn Sie keinen Konstruktor schreiben, stellt Java einen leeren Standardkonstruktor zur Verfügung. Sobald Sie einen beliebigen Konstruktor schreiben, wird der Standardkonstruktor nicht mehr automatisch bereitgestellt.
Probier es selbst
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());
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Objektorientierte Programmierung
1Grundlagen der OOP
Externe DateienEinführung in die OOPKlassen vs. ObjekteDas this-SchlüsselwortMethodenFelder (Attribute)Konstruktor-MethodeKonstruktor-ÜberladungRückblick – Einfacher Taschenrechner4Vererbung
Grundlagen der Vererbung (extends)Das super-SchlüsselwortMethoden überschreiben (@Override)Konstruktor-VerkettungDie Object-KlasseEinfache & mehrstufige VererbungWarum keine Mehrfachvererbung von KlassenZusammenfassung - Mitarbeiter-Hierarchie7Spezielle Methoden & Object-Klasse
toString()-Methodeequals() und hashCode()clone()-MethodecompareTo() und ComparableComparator-InterfaceZusammenfassung – Benutzerdefiniertes Sortieren2Zugriffsmodifikatoren & Kapselung
Überblick über ZugriffsebenenGetter- und Setter-MethodenInformation HidingDas final-SchlüsselwortRückblick – Bankkonto-Manager5Polymorphismus
Grundlagen der MethodenüberladungMethodenüberschreibung (Laufzeit)Upcasting und DowncastingDer instanceof-OperatorAbstrakte Klassen und MethodenZusammenfassung – Formenrechner8Fortgeschrittene OOP-Konzepte
Komposition vs. VererbungAggregation vs. KompositionInnere, geschachtelte & anonyme KlassenEnums und Enum-MethodenRecords (Java 16+)Sealed Classes (Java 17+)11Design Patterns Teil 1
Einführung in Design PatternsSingleton-PatternFactory-PatternBuilder-PatternObserver-PatternStrategy-Pattern14Abschlussherausforderungen
E-Learning-PlattformBanksystemSpielcharakter-EntwicklungFahrzeugvermietung3Klasseneigenschaften & Statische Member
Instanz- vs. statische VariablenStatische MethodenStatische BlöckeKonstanten (static final)Zusammenfassung – Zähler & Utility6Interfaces & Abstrakte Klassen
Einführung in InterfacesInterfaces implementierenImplementierung mehrerer InterfacesDefault- & statische Methoden in InterfacesAbstrakte Klassen vs. InterfacesFunktionale InterfacesZusammenfassung - Zahlungssystem