Heim >Java >javaLernprogramm >Der Unterschied zwischen abstrakten Klassen und Schnittstellen in Java

Der Unterschied zwischen abstrakten Klassen und Schnittstellen in Java

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBnach vorne
2023-09-16 11:49:02864Durchsuche

Der Unterschied zwischen abstrakten Klassen und Schnittstellen in Java

In Java wird Abstraktion durch abstrakte Klassen und Schnittstellen erreicht. Beide enthalten abstrakte Methoden, die von Unterklassen oder implementierenden Klassen implementiert werden müssen. Im Folgenden sind die wichtigen Unterschiede zwischen abstrakter Klasse und Schnittstelle aufgeführt. Sr.Nr

Unterstützte Methoden3 thead>Beispiel einer abstrakten Klasse und SchnittstelleJavaTester.java
public class JavaTester {
   public static void main(String args[]) {
      Animal tiger = new Tiger();
      tiger.eat();
      Cat lion = new Lion();
      lion.eat();
   }
}
interface Animal {
   public void eat();
}
class Tiger implements Animal {
   public void eat(){
      System.out.println("Tiger eats");
   }
}
abstract class Cat {
   abstract public void eat();
}
class Lion extends Cat{
   public void eat(){
      System.out.println("Lion eats");
   }
}
Output

Tiger eats
Lion eats

Abstrakte Klassen können beide abstrakt sein Methoden und spezifische Methoden.

Schnittstellen können nur abstrakte Methoden haben. Ab Java 8 kann es über Standard- und statische Methoden verfügen.

2

Unterstützte Variablen

Unterstützt endgültige, nicht endgültige, statische und nicht statische Variablen.

Nur statische und endgültige Variablen sind zulässig.

4

Implementierung

Abstrakte Klassen können Schnittstellen implementieren.

Die Schnittstelle muss die Schnittstelle nicht implementieren, oder sie kann die Schnittstelle erweitern.

5

Schlüsselwörter

Eine abstrakte Klasse, die mit dem Schlüsselwort abstract deklariert wird.

Schnittstellen werden mit dem Schlüsselwort interface deklariert.

6

Vererbung

Eine abstrakte Klasse kann eine andere Klasse mithilfe des Schlüsselworts „extends“ erben und die Schnittstelle implementieren.

Schnittstellen können nur Schnittstellen erben.

7

Vererbung

Abstrakte Klassen können mithilfe des Schlüsselworts „Extens“ vererbt werden.

Schnittstellen können nur mit dem Schlüsselwort „implements“ implementiert werden.

8

Access

Abstrakte Klassen können jede Art von Mitgliedern haben, z. B. privat und öffentlich.

Schnittstellen können nur öffentliche Mitglieder haben.

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen abstrakten Klassen und Schnittstellen in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen