Peacekeeper118
Grünschnabel
Hallo Leute!
Ich bin mit Java Programmierung noch nicht so richtig vertraut und bin auf ein eigenartiges Problem gestoßen.
Sinn der Übung war es die Bedeutung von Interfaces zu erarbeiten, leider bekomme ich aber immer einen StackOverflowError.
Könnt Ihr mir hier evtl weiterhelfen?
Die Problemstelle hab ich rot markiert.
Danke auf alle Fälle,
Michael
Interface.java:
public interface TestInterface {
public int hoehe();
public int breite();
public int laenge();
}
box.java:
public class Box
implements TestInterface{
public int laenge;
public int breite;
public int hoehe;
public int laenge() {
return this.laenge();
}
public int hoehe() {
return this.hoehe();
}
public int breite() {
return this.breite();
}
}
Main.java:
public class Main {
public static long Grundflaeche(TestInterface w){
return (long)w.laenge() * w.hoehe();
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Box wuerfel = new Box();
wuerfel.breite = 1;
wuerfel.laenge = 1;
wuerfel.hoehe = 1;
System.out.print(Grundflaeche(wuerfel));
}
}
Ich bin mit Java Programmierung noch nicht so richtig vertraut und bin auf ein eigenartiges Problem gestoßen.
Sinn der Übung war es die Bedeutung von Interfaces zu erarbeiten, leider bekomme ich aber immer einen StackOverflowError.
Könnt Ihr mir hier evtl weiterhelfen?
Die Problemstelle hab ich rot markiert.
Danke auf alle Fälle,
Michael
Interface.java:
public interface TestInterface {
public int hoehe();
public int breite();
public int laenge();
}
box.java:
public class Box
implements TestInterface{
public int laenge;
public int breite;
public int hoehe;
public int laenge() {
return this.laenge();
}
public int hoehe() {
return this.hoehe();
}
public int breite() {
return this.breite();
}
}
Main.java:
public class Main {
public static long Grundflaeche(TestInterface w){
return (long)w.laenge() * w.hoehe();
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Box wuerfel = new Box();
wuerfel.breite = 1;
wuerfel.laenge = 1;
wuerfel.hoehe = 1;
System.out.print(Grundflaeche(wuerfel));
}
}