Heim > Java > javaLernprogramm > Warum sind abstrakte statische Methoden in Java illegal?

Warum sind abstrakte statische Methoden in Java illegal?

Susan Sarandon
Freigeben: 2024-12-16 15:51:14
Original
620 Leute haben es durchsucht

Why are Abstract Static Methods Illegal in Java?

Den Ausschluss abstrakter statischer Methoden in Java verstehen

In Java definieren abstrakte Methoden normalerweise einen Vertrag für die Implementierung von Unterklassen. Das Konzept „abstrakt“ widerspricht jedoch der Natur „statischer“ Methoden.

Statische Methoden sind an die Klasse selbst und nicht an ein bestimmtes Objekt gebunden und werden ausgeführt, ohne dass eine Instanz der Klasse erforderlich ist . Diese inhärente Funktionalität steht im Widerspruch zum abstrakten Prinzip, was einen Mangel an Implementierung impliziert.

Betrachten Sie das folgende Beispiel:

abstract class foo {
    abstract void bar( ); // Legal
    abstract static void bar2(); // Illegal
}
Nach dem Login kopieren

In diesem Beispiel ist die bar()-Methode abstrakt, was darauf hinweist Es muss in Unterklassen implementiert werden. Die bar2()-Methode ist jedoch sowohl als abstrakt als auch als statisch gekennzeichnet. Diese Kombination ist nicht zulässig, weil:

  • „abstrakt“ bedeutet keine Implementierung:Abstrakte Methoden haben keinen Code und erfordern Unterklassen, um ihre Funktionalität zu definieren.
  • „statisch“ bedeutet inhärente Funktionalität: Statische Methoden verfügen über Code und können ohne Instanziierung aufgerufen werden Objekte.

Da eine abstrakte Methode keinen Code haben kann, widerspricht sie der Funktionalität, die eine statische Methode impliziert. Dieser logische Konflikt verhindert die Deklaration abstrakter statischer Methoden in Java.

Das obige ist der detaillierte Inhalt vonWarum sind abstrakte statische Methoden in Java illegal?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage