2. Generics: Typprüfung
2. Generics: TypprüfungDie generische Klasse Flaeche hat eine main() Methode mit einer Reihe Fehlern. Kommentieren im Quellcode jede Zeile aus, die der Übersetzer nicht übersetzt.
- Schreiben Sie hierzu ein Kommentarzeichen („//“) direkt vor die inkorrekte Zeile im Quellcode.
- Geben Sie hinter der fehlerhaften Zeile eine kurze Erklärung warum die Zeile inkorrekt ist.
Beispiel:
// int i = null;// null ist ein Referenztyp der nicht zu int passt
| Quellcode | Beschreibung der Fehler |
|---|---|
package Kurs2.Generics; |
|
Die Antworten finden Sie hinter der nächsten Frage (URL rechts unten klicken).
| Niveau | 2 |
| Schwierigkeitsgrad | mittel |
| Zeit | 8 Minuten |
Antwort zu Frage 1. : Generics, Typprüfung
public class Punkt<T extends Number> {
public T x;
public T y;
public Punkt(T xp, T yp) {
x = xp;
y = yp;
}
public static void main(String[] args) {
Punkt<Double> k11;
Punkt<Double> k12;
Punkt<Integer> k21;
Punkt<Integer> k22;
Punkt<Number> k41;
Punkt<Number> k42;
Punkt k55;
Punkt k66;
k11 = new Punkt<Double>(2.2d, 3.3d);
k21 = new Punkt<Integer>(2, 3);
//k31 = new Punkt<String>("11","22"); Variable wurde nicht deklariert
k41 = new Punkt<Number>(2l, 3l);
k41 = new Punkt<Number>(4.4d, 5.5f);
//k11 = new Punkt<Double>(3.3f,9.9d); 3.3.f ist ein Float und kein Double wie gefordert
Punkt<?> k99;
k99 = k11;
k99 = k21;
//k99 = k31; k31 wurde nicht deklariert
k12 = k11;
//k12 = k21; k12 hat Parameter Double, k21 hat Parameter Integer
...
k55 = new Punkt<Number>(7.7f, 8.8f);
k66 = new Punkt(7.7f, 8.8f);
}
}
- 4931 views