Hey Leute,
hab ne Frage zum Casten von Objekten hier erstmal der Code:
So nun zu meiner Frage:
Wieso ist die super2.variable 20? Wird da nur der super-Konstruktor in der Subklasse beim Cast aufgerufen?
Ich hab beim Lesen des Codes gedacht super2.variable ist genau so 4 wie sub1.variable.
Hab allgemein recht wenig zum sicheren bzw unsicheren Casten gefunden wäre nett wenn jemand ne gute Informationsquelle hätte.
MfG Biber
hab ne Frage zum Casten von Objekten hier erstmal der Code:
Java:
class Superklasse {
public final int variable;
public Superklasse(int variable) {
this.variable = variable;
}
}
Java:
class Subklasse extends Superklasse {
public int variable;
public Subklasse(int variable) {
super(5 * variable);
this.variable = variable;
}
}
Java:
public class SuperSubApp
{
public static void main(String[] args)
{
Subklasse sub1 = new Subklasse(4);
Superklasse super2 = sub1;
System.out.println("sub1.variable " + sub1.variable);
System.out.println("super2.variable " + super2.variable);
}
}
So nun zu meiner Frage:
Wieso ist die super2.variable 20? Wird da nur der super-Konstruktor in der Subklasse beim Cast aufgerufen?
Ich hab beim Lesen des Codes gedacht super2.variable ist genau so 4 wie sub1.variable.
Hab allgemein recht wenig zum sicheren bzw unsicheren Casten gefunden wäre nett wenn jemand ne gute Informationsquelle hätte.
MfG Biber
Zuletzt bearbeitet: