Hi ich weiß nicht ob der Titel nicht etwas in die Irre führt. Ich muss für mein Studium ein kleines Programm schreiben in dem ich eine Methode in einem Interface deklariere.
Jetzt habe ich noch in der TestKlasse ein Objekt:
erzeugt aber warum meckert der Kompiler?
Wenn ich das mit Interfaces so richtig verstanden habe dann müsste ich doch, wenn ich eine Referenz einer Superklasse also eines Interface erwarte, auch alle Objekte von Klassen die das Interface implementiert haben akzeptieren. natürlich wurde die Methode distance über kugel1.distance(kugel2) aufgerufen.
Ich hoffe ich habe jetzt hier keine Fehler geschrieben aber auf dem PC in der Hochschule war meiner Meinung alles richtig bzw. Wenn ich in der Methode distance eine Referenz von Kugel erwarte klappt alles (natürlich habe ich die anderen Referenzen angepasst).
Kann mir jemand helfen? Ich hoffe es war nicht zu kompliziert geschrieben.
Java:
public interface IF_Kugel{
void distance(IF_Kugel kugel2);
}
Java:
public class Kugel implements IF_Kugel{
float x, y, z;
int radius;
kugel(float x, float y, float z, int radius){
this.x = x;
this.y = y;
this.z = z;
}
void distance(IF_Kugel kugel2){
float temp = kugel2 - this.x; // hier meckert der Kompiler immer dass X nicht in IF_Kugel (interface) deklariert wurde
}
}
Java:
IF_Kugel Kugel1 = new Kugel(5,6,4,2,2); // und das gleiche noch mal für Kugel2
Wenn ich das mit Interfaces so richtig verstanden habe dann müsste ich doch, wenn ich eine Referenz einer Superklasse also eines Interface erwarte, auch alle Objekte von Klassen die das Interface implementiert haben akzeptieren. natürlich wurde die Methode distance über kugel1.distance(kugel2) aufgerufen.
Ich hoffe ich habe jetzt hier keine Fehler geschrieben aber auf dem PC in der Hochschule war meiner Meinung alles richtig bzw. Wenn ich in der Methode distance eine Referenz von Kugel erwarte klappt alles (natürlich habe ich die anderen Referenzen angepasst).
Kann mir jemand helfen? Ich hoffe es war nicht zu kompliziert geschrieben.