Hallo,
Ich habe eine Frage bezüglich Interfaces als Datentypen. Ich habe folgenden Code erzeugt.
Jetzt meine Fragen:
1. Wozu bildet man Datentypen eines Interface um deren metoden zu benutzen obwohl man das auch mit dem Datentyp der Klasse auf die methode zugreifen kann in unserem Beispiel:
2. Warum muss die Methode drucke den Rückgabewert SuperInterface haben wenn ich folgenden Code schreibe:
3. Was ist der Unterschied zu 2 wenn ich das so schreibe
Danke für die Antworten.
Barney90
Ich habe eine Frage bezüglich Interfaces als Datentypen. Ich habe folgenden Code erzeugt.
Code:
public class Klasse implements SuperIface {
public void scanne(int i){
int a = i;
};
public void drucke(){
System.out.println("hallo");
}
public static void main(String[] args) {
SuperIface kl = new Klasse();
kl.drucke();
}
}
Code:
public interface SuperIface extends SuperIfaceB {
public void drucke();
}
Code:
public interface SuperIfaceB {
public void scanne(int i);
}
Jetzt meine Fragen:
1. Wozu bildet man Datentypen eines Interface um deren metoden zu benutzen obwohl man das auch mit dem Datentyp der Klasse auf die methode zugreifen kann in unserem Beispiel:
Code:
Klasse kl = new Klasse();
kl.drucke();
2. Warum muss die Methode drucke den Rückgabewert SuperInterface haben wenn ich folgenden Code schreibe:
Code:
Superinterface kl = new Klasse().drucke();
3. Was ist der Unterschied zu 2 wenn ich das so schreibe
Code:
Superinterface kl = (new Klasse()).drucke();
Danke für die Antworten.
Barney90