Witam,
Załączam programik w którym jest klasa Klasa1 i jej rozszerzenie Klasa2, później robimy obiekt rozszerzonej klasy Klasa2 i rzutujemy na węższą Klasa1. W ten sposób uzyskujemy obiekt klasy Klasa1.
Teraz pytanie, czemu metoda getClass() zastosowana dla tego rzutu pokazuje: class Klasa2
a nie class Klasa1?
kod:
class Klasa1{
private int a=1;
}
class Klasa2 extends Klasa1{
private int b=2;
}
public class Test{
public static void main(String[] args){
Klasa2 k2=new Klasa2();
Klasa1 k1=(Klasa1)k2;
System.out.println(k1.getClass());
}
}
Mógłby mi ktoś to wytłumaczyć?
Pozdrawiam i czekam na odpowiedźi
Tomek