Heim Java javaLernprogramm Abstrakte Klassen in Java

Abstrakte Klassen in Java

Sep 22, 2023 am 11:53 AM
继承(inheritance) 实现(implementation) 抽象类(abstract class)

Abstrakte Klassen in Java

Eine Klasse, die das Schlüsselwort abstract in ihrer Deklaration enthält, wird abstrakte Klasse genannt.

  • Eine abstrakte Klasse kann abstrakte Methoden enthalten oder auch nicht, d. h. Methoden ohne Körper ( public void get(); )
  • Wenn eine Klasse jedoch mindestens eine abstrakte Methode hat, muss die Klasse als abstrakt deklariert werden.
  • Wenn eine Klasse als abstrakt deklariert ist, kann sie nicht instanziiert werden.
  • Um eine abstrakte Klasse zu verwenden, müssen Sie sie von einer anderen Klasse erben und Implementierungen der darin enthaltenen abstrakten Methoden bereitstellen.
  • Wenn Sie eine abstrakte Klasse erben, verfügen Sie über Implementierungen für alle darin enthaltenen abstrakten Methoden.

Beispiele

In diesem Abschnitt finden Sie Beispiele für abstrakte Klassen. Um eine abstrakte Klasse zu erstellen, verwenden Sie einfach das Schlüsselwort abstract vor dem Schlüsselwort class in der Klassendeklaration.

/* File name : Employee.java */
public abstract class Employee {
   private String name; private String address; private int number;
   public Employee(String name, String address, int number) {
      System.out.println("Constructing an Employee");
      this.name = name; this.address = address;
      this.number = number;
   }
   public double computePay() {
      System.out.println("Inside Employee computePay"); return 0.0;
   }
   public void mailCheck() {
      System.out.println("Mailing a check to " + this.name + " " + this.address);
   }
   public String toString() {
      return name + " " + address + " " + number;
   }
   public String getName() {
      return name;
   }
   public String getAddress() {
      return address;
   }
   public void setAddress(String newAddress) {
      address = newAddress;
   }
   public int getNumber() {
      return number;
   }
}
Nach dem Login kopieren

Sie können beobachten, dass die Employee-Klasse bis auf die abstrakten Methoden mit einer normalen Klasse in Java identisch ist. Die Klasse ist jetzt abstrakt, verfügt aber weiterhin über drei Felder, sieben Methoden und einen Konstruktor.

Jetzt können Sie versuchen, die Employee-Klasse zu instanziieren, indem Sie -

/* File name : AbstractDemo.java */
public class AbstractDemo {
   public static void main(String [] args) {
      /* Following is not allowed and would raise error */
      Employee e = new Employee("George W.", "Houston, TX", 43);
      System.out.println("\n Call mailCheck using Employee reference--");
      e.mailCheck();
    }
 }
Nach dem Login kopieren

Wenn Sie die obige Klasse kompilieren, wird der folgende Fehler angezeigt -

Employee.java:46: Employee is abstract; cannot be instantiated
Employee e = new Employee("George W.", "Houston, TX", 43); ^ 1 error  
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonAbstrakte Klassen in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So lösen Sie das Problem der hierarchischen Codebeziehung in der C++-Entwicklung So lösen Sie das Problem der hierarchischen Codebeziehung in der C++-Entwicklung Aug 22, 2023 am 11:22 AM

So lösen Sie das Problem der hierarchischen Codebeziehungen in der C++-Entwicklung. Bei der Entwicklung komplexer C++-Programme ist die Verwaltung hierarchischer Codebeziehungen ein häufiges Problem. Falsche Hierarchien können das Lesen, Warten und Erweitern von Code erschweren. Um dieses Problem zu lösen, können wir die folgenden Strategien anwenden. Erstens können wir eine geeignete Verzeichnisstruktur verwenden, um die Codedateien zu organisieren. Durch eine gute Verzeichnisstruktur können Codedateien geordneter angeordnet werden, sodass wir zugehörigen Code während des Entwicklungsprozesses schneller finden oder ändern können. Im Allgemeinen wird dies empfohlen

Lösungen für häufige Probleme bei der Wiederverwendung von Code in C++ Lösungen für häufige Probleme bei der Wiederverwendung von Code in C++ Oct 09, 2023 pm 01:50 PM

Lösungen für häufige Probleme bei der Wiederverwendung von Code in C++ In der C++-Programmierung ist die Wiederverwendung von Code eine wichtige Technologie, die die Entwicklungseffizienz und die Wartbarkeit des Codes verbessern kann. Wir stoßen jedoch häufig auf einige häufige Probleme bei der Wiederverwendung von Code, z. B. wiederholte Codefragmente, komplexe Vererbungsbeziehungen usw. In diesem Artikel werden mehrere gängige Methoden zur Lösung dieser Probleme vorgestellt und spezifische Codebeispiele bereitgestellt. Funktionskapselung Die Funktionskapselung ist eine gängige Methode zur Wiederverwendung von Code. Durch die Kapselung eines Codeabschnitts in einer Funktion kann dieser mehrmals an anderen Stellen aufgerufen werden, um das wiederholte Schreiben desselben Codes zu vermeiden.

Abstrakte Klassen in Java Abstrakte Klassen in Java Sep 22, 2023 am 11:53 AM

Eine Klasse, die das Schlüsselwort abstract in ihrer Deklaration enthält, wird abstrakte Klasse genannt. Eine abstrakte Klasse kann abstrakte Methoden enthalten oder auch nicht, d. h. Methoden ohne Körper (publicvoidget();). Wenn eine Klasse jedoch mindestens eine abstrakte Methode hat, muss die Klasse als abstrakt deklariert werden. Wenn eine Klasse als abstrakt deklariert ist, kann sie nicht instanziiert werden. Um eine abstrakte Klasse zu verwenden, müssen Sie sie von einer anderen Klasse erben und Implementierungen der darin enthaltenen abstrakten Methoden bereitstellen. Wenn Sie von einer abstrakten Klasse erben, stellen Sie Implementierungen für alle darin enthaltenen abstrakten Methoden bereit. Beispiele In diesem Abschnitt finden Sie Beispiele für abstrakte Klassen. Um eine abstrakte Klasse zu erstellen, verwenden Sie einfach das Schlüsselwort abstract vor dem Schlüsselwort class in der Klassendeklaration. /*Dateiname:Emplo

Wie führt man objektorientierte Programmierung in C++ durch? Wie führt man objektorientierte Programmierung in C++ durch? Aug 27, 2023 am 08:34 AM

Wie führt man objektorientierte Programmierung in C++ durch? Objektorientierte Programmierung (OOP) ist ein sehr verbreitetes und wichtiges Softwareentwicklungsparadigma. C++ ist eine Multiparadigmen-Programmiersprache, die objektorientierte Programmierung unterstützt. In C++ können wir durch die Konzepte von Klasse und Objekt leicht objektorientierte Programmierung implementieren. Zuerst müssen wir eine Klasse definieren. Klasse ist ein Brauch

So verwenden Sie abstrakte Klassen, um die Infrastruktur einer PHP-Anwendung aufzubauen So verwenden Sie abstrakte Klassen, um die Infrastruktur einer PHP-Anwendung aufzubauen Aug 02, 2023 pm 03:09 PM

So verwenden Sie abstrakte Klassen zum Aufbau der Infrastruktur von PHP-Anwendungen Zusammenfassung: Bei der Entwicklung von PHP-Anwendungen sind abstrakte Klassen ein sehr wichtiges Werkzeug. In diesem Artikel wird die Verwendung abstrakter Klassen zum Aufbau der Infrastruktur von PHP-Anwendungen vorgestellt und Codebeispiele bereitgestellt, um den Lesern ein besseres Verständnis zu erleichtern. Einführung: Eine abstrakte Klasse ist eine Klasse, die nicht direkt instanziiert werden kann. Sie wird hauptsächlich zur Definition gemeinsamer Eigenschaften und Methoden sowie zur Bereitstellung einer normativen Vorlage für Unterklassen verwendet. Abstrakte Klassen können vererbt werden und Unterklassen müssen alle abstrakten Methoden in der übergeordneten Klasse implementieren. Verwenden Sie in einer PHP-Anwendung pump

Ein Problem in vielen binären Suchimplementierungen? Ein Problem in vielen binären Suchimplementierungen? Sep 10, 2023 pm 04:21 PM

Wir wissen, dass der binäre Suchalgorithmus besser ist als der lineare Suchalgorithmus. Die zur Ausführung dieses Algorithmus erforderliche Zeit beträgt O(logn). Meistens gibt es jedoch einige Probleme mit dem implementierten Code. Betrachten wir eine binäre Suchalgorithmusfunktion wie unten gezeigt – Beispiel intbinarySearch(intarray[],intstart,intend,intkey){ if(start<=end){ intmid=(start+end)/2);//midlocationof

Wie kann durch erzwungene Vererbung von Proxy-Endklassen in der Java-Programmierung eine bessere Codeabstraktion erreicht werden? Wie kann durch erzwungene Vererbung von Proxy-Endklassen in der Java-Programmierung eine bessere Codeabstraktion erreicht werden? Sep 06, 2023 pm 01:40 PM

Wie kann durch erzwungene Vererbung von Proxy-Endklassen in der Java-Programmierung eine bessere Codeabstraktion erreicht werden? Einleitung: Bei der Java-Programmierung kommen wir häufig in Situationen, in denen wir bestehende Klassen erweitern müssen. Manchmal werden die Klassen, auf die wir stoßen, jedoch als endgültig deklariert, das heißt, sie können nicht vererbt werden. Wie kann in diesem Fall eine Codeabstraktion und -wiederverwendung erreicht werden? In diesem Artikel wird eine Methode zum Delegieren endgültiger Klassen durch erzwungene Vererbung vorgestellt, um eine bessere Codeabstraktion bei gleichzeitiger Wahrung der Codesicherheit zu erreichen. Einschränkungen finaler Klassen in Java

Super-Schlüsselwort in Java Super-Schlüsselwort in Java Sep 16, 2023 pm 10:57 PM

Die Supervariable bezieht sich auf die direkte Instanz der übergeordneten Klasse. Supervariablen können direkte Methoden der übergeordneten Klasse aufrufen. super() fungiert als direkter Konstruktor einer übergeordneten Klasse und sollte in der ersten Zeile eines Konstruktors einer untergeordneten Klasse stehen. Verwenden Sie beim Aufrufen der Superklassenversion einer überschriebenen Methode das Schlüsselwort super. Beispiel für eine Live-Demonstration classAnimal{ publicvoidmove(){ System.out.println("Animalscanmove" }}cl

See all articles