Ich bin in dieser Frage fest:Kann eine Schnittstelle in Java Variablen/generische Typen als Eingabe verwenden?
Der abstrakte Datentyp „myADT“ empfängt als Eingabe die generischen Typen T1 und T2.
Es hat ein Attribut "x" vom Typ T1 und ein Attribut "y" vom Typ T2, wie sowie "get" und "set" -Methoden für den Zugriff/die Änderung seiner Attribute. Programmieren Sie eine Java-Schnittstelle und ihre zugehörige Implementierungsklasse für den abstrakten Datentyp "myADT" für .
Wo ich verwirrt bin, ist der Eingang T1 und T2. Ich dachte, Schnittstellen könnten keine Eingaben wie eine Klasse machen? Wie würde ich das beantworten? Hier ist, was ich mit so weit kam:
public interface myADT{
T1 X;
T2 Y;
public void setX(T1 X){
X=X;
}
public void setY(T2 Y){
Y=Y;
}
public void getX(){
return x;
}
public void getY(){
return Y;
}
Ich bin nicht sicher, ob das auch ein wenig nach rechts oder, wenn seine völlig falsch. Wenn jemand helfen kann, werde ich für immer dankbar sein. Vielen Dank im Voraus!
Wenn es eine Schnittstelle ist, kann es keine "Attribute" haben. –
Sie können beliebig viele Typparameter akzeptieren, genau wie eine Klasse. Versuchen Sie, 'T1' und' T2' als Typparameter zu definieren, genau wie Sie es in einer Klasse tun könnten. Du wirst sehen, dass es funktioniert. Vielleicht möchten Sie jedoch [das Kapitel Interfaces aus den Java-Lektionen] (https://docs.oracle.com/javase/tutorial/java/IandI/createinterface.html) lesen. –
Kein Instanzenstatus. Sie können statische Variablen haben, die für alle Instanzen gelten. Wenn Sie einen Status pro Instanz wünschen, benötigen Sie eine abstrakte Klasse. – duffymo