Java学习相关问题2

2021-09-10 20:09发布

子类有name,父类有name,父类有个方法printName打印this.name 子类没有这个方法,同名的也没有。子类中调用此方法,打印的是子类name。那怎么修改才能打印出父子类name呢(不给...

子类有name,父类有name,父类有个方法printName打印this.name 子类没有这个方法,同名的也没有。子类中调用此方法,打印的是子类name。那怎么修改才能打印出父子类name呢(不给子类添加方法的情况下)?

2条回答

1image.pngimage.png

希希
3楼 · 2021-09-14 09:36

cat类继承了animal,在cat中只有构造方法,没有get方法。所以System.out.println(c1.getName()); // 返回“mimi” 调用了父类的方法
而System.out.println(c1.name); // 返回“pipi”,直接调用的是cat的构造方法。
Animal c2 = (Animal)c1;
System.out.println(c2.name);  c2是animal类,所以只能用animal类的属性。父类不能用子类的属性,子类可以继承父类的属性。