public class A {
private String name= " parent";
public void print(){
System.out.println(name+"**********");
}
}public class B extends A{
private String name = "child";}
public class Test {
public static void main(String[] args) {B b =new B();
b.print();
}}
属性不存在重写,方法才能重写~
所以b.print(); 调用的还是A的print
只要你在A里面写了print,那就是child了。。。
而这不是说你重写了父类的属性...
不能继承父类的私有属性,在new一个对象的时候,是先初始化父类的成员变量的,所以应该是parent
我觉得是这样
你得在B类里重写print()方法
你看一下 thinking in java 吧,里面有讲执行顺序...
比如: 父类先于子类执行.
变量的执行顺序等.