Έστω ότι έχω δυο τάξεις την Ρ1 και την υποκλάσση της Ρ2. Η Ρ1 έχει μόνο μια μεταβλητή k ενώ η στην Ρ2 έχω ορίσει μόνο την l.
Εάν κάνω:
Code: Select all
P1 one = new P2();
Code: Select all
((P2)one).l
Code: Select all
Ρ2 two = (P1)new P2();
Η λογική λέει ότι ένα αντικείμενο Ρ1 δεν είναι απαραίτητα Ρ2 γιαυτό και το πρόβλημα. Αλλά συνεχίζω να μην καταλαβαίνω σε μια τέτοια δήλωση τι τύπου θα είναι το αντικείμενο.Exception in thread "main" java.lang.ClassCastException: P1 cannot be cast to P2
Αν μπορεί να μου εξηγήσει κάποιος τι συμβαίνει στα παρασκήνια