Erweitert vs. Implementiert in Java
-
Vererben Sie eine Klasse mit dem Schlüsselwort
extends
in Java -
Vererben Sie eine Schnittstelle mit dem Schlüsselwort
implements
in Java
Um die Eigenschaften und Verhaltensweisen einer bestimmten Elternklasse in Java wiederzuverwenden, verwenden wir das Konzept der Vererbung, das ein wichtiger Bestandteil einer objektorientierten Programmiersprache ist. Die Idee dahinter ist die Wiederverwendbarkeit von Code. Sowohl die Schlüsselwörter implements
als auch extends
werden verwendet, um eine neue Klasse in Java zu erstellen, die die Attribute der Elternklasse besitzt.
Anhand der unten stehenden Tabelle können wir die Keywords extends
und implements
besser verstehen.
Definition | Implementierung | Klasse | Schnittstelle | Methoden | |
---|---|---|---|---|---|
extends |
Wenn eine Unterklasse (Kind) eine Basisklasse (Elternklasse) erweitert , ermöglicht dies der Unterklasse, den in der Basisklasse definierten Code zu erben. |
Eine Klasse kann eine andere Klasse erben. Eine Schnittstelle kann mit dem Schlüsselwort extends eine andere Schnittstelle erben. |
Eine Klasse kann nur eine Klasse erweitern. | Beliebig viele Schnittstellen können um eine Schnittstelle erweitert werden. | Die Unterklassenklasse erweitert eine Elternklasse, kann alle Methoden in der Basisklasse überschreiben oder nicht. |
implements |
Das Schlüsselwort implements wird verwendet, um eine Schnittstelle zu implementieren. Eine Schnittstelle enthält abstrakte Methoden. Der Methodenrumpf wird in der Klasse definiert, die ihn implementiert. |
Mit dem Schlüsselwort implements kann eine Klasse ein Interface implementieren. |
Eine Klasse kann mehr als eine Schnittstelle implementieren. | Eine Schnittstelle kann niemals eine andere Schnittstelle implementieren. | Die Klasse, die eine Schnittstelle implementiert, muss alle Methoden der Schnittstelle implementieren. |
Vererben Sie eine Klasse mit dem Schlüsselwort extends
in Java
Im folgenden Code haben wir ein Parent
, das die Basisklasse ist, und Child
als Unterklasse. Die Klasse Child
erweitert die Klasse Parent
, dh die Klasse Child
hat nun Zugriff auf die Felder und Methoden, die in der Klasse Parent
definiert sind.
In unserer Klasse Test
erstellen wir ein Objekt der Unterklasse child
und rufen darauf die Methode displayNumber()
auf. Die Methode displayString()
, die innerhalb der Elternklasse definiert ist, kann ausgeführt werden, indem sie auf demselben Kind
-Objekt aufgerufen wird. Somit erfüllt es den Zweck der Wiederverwendbarkeit des Codes.
public class Test {
public static void main(String args[]) {
Child child = new Child();
System.out.println("Calling Child class method : " + child.displayNumber());
System.out.println("Calling Parent class method from child : " + child.displayString());
}
}
class Parent {
String str = "Hello there!";
public String displayString() {
return str;
}
}
class Child extends Parent {
int number = 25;
public int displayNumber() {
return number;
}
}
Ausgabe:
Calling Child class method : 25
Calling Parent class method from child : Hello there!
Vererben Sie eine Schnittstelle mit dem Schlüsselwort implements
in Java
Im folgenden Code haben wir zwei Schnittstellen, Cat
und Dog
, die jeweils eine abstrakte Methode enthalten. Eine Klasse Animals
implementiert beide Interfaces, muss also die in den Interfaces definierte Methode implementieren.
Daher implementierte die Klasse Animals
beide Schnittstellen und definierte ihr Verhalten, was der ganze Zweck der Schnittstelle in Java ist.
interface Cat {
public void meow();
}
interface Dog {
public void bark();
}
class Animals implements Dog, Cat {
@Override
public void meow() {
System.out.println("Cat meows");
}
@Override
public void bark() {
System.out.println("Dog barks");
}
}
public class Test1 {
public static void main(String args[]) {
Animals animals = new Animals();
animals.bark();
animals.meow();
}
}
Ausgabe
Dog barks
Cat meows
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn