ClassCastException bei Extended Klassen?

habe folgendes Problem

_public class MyClass{ (Methoden, Variablen etc.) }
public class MyExtendedClass extends MyClass{

public static void main
{
MyClass M = new MyClass();
MyExtendedClass MEC = (MyExtendedClass) M;
}
}_

  • ich überlade oder überschreibe keine einzige Methode aus MyClass.

Beim Ausführen kriege ich
Exception in Thread „main“ java.lang.ClassCastException: MyClass

Ich dachte, Typecasting auf abgeleitete Klassen sollte kein Problem sein?

Wie mache ich den Typecast legal?

Gruss,
Michael

Hallo Michael.

public class MyClass{ (Methoden, Variablen etc.) }
public class MyExtendedClass extends MyClass{

public static void main
{
MyClass M = new MyClass();
MyExtendedClass MEC = (MyExtendedClass) M;
}
}

Beim Ausführen kriege ich
Exception in Thread „main“ java.lang.ClassCastException:
MyClass

Wie mache ich den Typecast legal?

So:

public static void main {
 MyClass M = new **MyExtendedClass()**;
 MyExtendedClass MEC = (MyExtendedClass) M;
}

Du kannst eben aus einem beliebigen Auto keinen Porsche machen:

RICHTIG: Ein Porsche IST-EIN Auto
FALSCH : Ein Auto IST-EIN Porsche

Gruß,
-Andreas.

Hallo Michael.
public static void main {
MyClass M = new MyExtendedClass();
MyExtendedClass MEC = (MyExtendedClass) M;
}
Du kannst eben aus einem beliebigen Auto keinen Porsche
machen:

RICHTIG: Ein Porsche IST-EIN Auto
FALSCH : Ein Auto IST-EIN Porsche

Dankeschön.
Hatte sich meine Logik verquert :confused:
Aber damit ist das Problem erledigt :smile:

Gruss,
Michael