Hallo,
ich bin gerade dabei, die Video2Brain Tutorials "Java lernen Teil 3 - Generische Programmierung, Datenströme und Datums/Zeitberechnung" durchzu arbeiten und hänge mal wieder am Thema Anonyme Klassen. Genauergesagt weiß ich noch nicht, win welcher Reihenfolge diese eigentlich abgearbeitet werden.
Im Projekt soll einfach nur ein BMI errechnet werden. Dazu wurden folgende Klassen angelegt (die Striche sind nur zur optischen Trennung,wo eine neue Datei anfängt):
Meine Frage: in welcher Reihenfolge wird das eigentlich abgearbeitet ? Speziell denke ich dabei an den Konstruktor von AppAnonym, genauergesagt um die Zeile, wo das BMIRechner-Objekt erzeugt wird. Dort steht in den Generics "BMIKoerper<Double,Double>" drin. Heißt das, dass Java beim erzeugen von BMI-Rechner erstmal einen kurzen Abstecker zu BMIKoerper macht und den anlegt,bevor es den BMI-Rechner fertigbaut ?
ich bin gerade dabei, die Video2Brain Tutorials "Java lernen Teil 3 - Generische Programmierung, Datenströme und Datums/Zeitberechnung" durchzu arbeiten und hänge mal wieder am Thema Anonyme Klassen. Genauergesagt weiß ich noch nicht, win welcher Reihenfolge diese eigentlich abgearbeitet werden.
Im Projekt soll einfach nur ein BMI errechnet werden. Dazu wurden folgende Klassen angelegt (die Striche sind nur zur optischen Trennung,wo eine neue Datei anfängt):
Java:
public interface BMIRechner<U, V> {
public U rechne(V v);}
------------------------------------
public class BMIKoerper<E, F> {
private E e;
private F f;
....[hier kommen noch die ganzen Getter/Setter-Sachen]
}
------------------------------------
public class AppAnonym {
public static void main(String[] args) {
new AppAnonym();
}
public AppAnonym() {
BMIRechner<Double, BMIKoerper<Double, Double>> rechner = new BMIRechner<Double, BMIKoerper<Double, Double>>() {
@Override
public Double rechne(BMIKoerper<Double, Double> v) {
return v.getF() / (v.getE() * v.getE());
}
};
BMIKoerper<Double, Double> koerper = new BMIKoerper<Double, Double>();
try (Scanner scanner = new Scanner(System.in)) {
System.out.print("Groesse ? ");
koerper.setE(scanner.nextDouble());
System.out.print("Gewicht ? ");
koerper.setF(scanner.nextDouble());
System.out.printf("BMI-Wert: %.1f", rechner.rechne(koerper));
}
}
}
Meine Frage: in welcher Reihenfolge wird das eigentlich abgearbeitet ? Speziell denke ich dabei an den Konstruktor von AppAnonym, genauergesagt um die Zeile, wo das BMIRechner-Objekt erzeugt wird. Dort steht in den Generics "BMIKoerper<Double,Double>" drin. Heißt das, dass Java beim erzeugen von BMI-Rechner erstmal einen kurzen Abstecker zu BMIKoerper macht und den anlegt,bevor es den BMI-Rechner fertigbaut ?