Java -Tutorials

Java-HOME Java-Einführung Java-Erste Schritte Java-Syntax Java-Kommentare Java-Variablen Java-Datentypen Java-Type-Casting Java-Operatoren Java-Strings Java-Mathematik Java-Booleans Java Wenn ... Sonst Java-Schalter Java-While-Schleife Java-For-Schleife Java Break/Continue Java-Arrays

Java-Methoden

Java-Methoden Java-Methodenparameter Überladen von Java-Methoden Java-Bereich Java-Rekursion

Java-Klassen

Java-OOP Java-Klassen/Objekte Attribute der Java-Klasse Java-Klassenmethoden Java-Konstruktoren Java-Modifikatoren Java-Kapselung Java-Pakete / API Java-Vererbung Java-Polymorphismus Innere Java-Klassen Java-Abstraktion Java-Schnittstelle Java-Enumerationen Java-Benutzereingabe Java-Datum Java-ArrayList Java LinkedList Java-HashMap Java-HashSet Java-Iterator Java-Wrapper-Klassen Java-Ausnahmen Java-RegEx Java-Threads Java-Lambda

Umgang mit Java-Dateien

Java-Dateien Java-Dateien erstellen/schreiben Java-Dateien lesen Java-Dateien löschen

Java-How-To

Fügen Sie zwei Zahlen hinzu

Java-Referenz

Java-Schlüsselwörter Java-String-Methoden Java-Mathematikmethoden

Java-Beispiele

Java-Beispiele Java-Compiler Java-Übungen Java Quiz Java-Zertifikat


Java -Abstraktion


Abstrakte Klassen und Methoden

Datenabstraktion ist der Prozess, bei dem bestimmte Details ausgeblendet und dem Benutzer nur wesentliche Informationen angezeigt werden.
Abstraktion kann entweder mit abstrakten Klassen oder Schnittstellen erreicht werden (worüber Sie im nächsten Kapitel mehr erfahren werden).

Das abstractSchlüsselwort ist ein Modifikator ohne Zugriff, der für Klassen und Methoden verwendet wird:

  • Abstrakte Klasse: ist eine eingeschränkte Klasse, die nicht zum Erstellen von Objekten verwendet werden kann (um darauf zuzugreifen, muss sie von einer anderen Klasse geerbt werden).

  • Abstrakte Methode: Kann nur in einer abstrakten Klasse verwendet werden und hat keinen Körper. Der Körper wird von der Unterklasse bereitgestellt (geerbt von).

Eine abstrakte Klasse kann sowohl abstrakte als auch reguläre Methoden haben:

abstract class Animal {
  public abstract void animalSound();
  public void sleep() {
    System.out.println("Zzz");
  }
}

Aus dem obigen Beispiel ist es nicht möglich, ein Objekt der Klasse Animal zu erstellen:

Animal myObj = new Animal(); // will generate an error

Um auf die abstrakte Klasse zuzugreifen, muss sie von einer anderen Klasse geerbt werden. Konvertieren wir die Klasse Animal, die wir im Kapitel Polymorphismus verwendet haben, in eine abstrakte Klasse:

Erinnern Sie sich aus dem Kapitel Vererbung daran , dass wir das extendsSchlüsselwort verwenden, um von einer Klasse zu erben.

Beispiel

// Abstract class
abstract class Animal {
  // Abstract method (does not have a body)
  public abstract void animalSound();
  // Regular method
  public void sleep() {
    System.out.println("Zzz");
  }
}

// Subclass (inherit from Animal)
class Pig extends Animal {
  public void animalSound() {
    // The body of animalSound() is provided here
    System.out.println("The pig says: wee wee");
  }
}

class Main {
  public static void main(String[] args) {
    Pig myPig = new Pig(); // Create a Pig object
    myPig.animalSound();
    myPig.sleep();
  }
}

Warum und wann werden abstrakte Klassen und Methoden verwendet?

Um Sicherheit zu erreichen - verbergen Sie bestimmte Details und zeigen Sie nur die wichtigen Details eines Objekts an.

Hinweis: Abstraktion kann auch mit Interfaces erreicht werden , worüber Sie im nächsten Kapitel mehr erfahren werden.