父类有个属性 name
如果我想在字类中用这个name 为什么必须写在子类的构造器中
public class Child extends Parent{
public Child(){
name="XXX";
}
//name = "XXX"; // 这么写会抱错...
}
如果我想在字类中用这个name 为什么必须写在子类的构造器中
public class Child extends Parent{
public Child(){
name="XXX";
}
//name = "XXX"; // 这么写会抱错...
}
如果这个name是私有的,只有父类自己使用;
如果是protected的,那它及所有子类都可以用;
如果是public的,那其他非继承类都可以使用(前提是不同包的其他类要访问这个name时,只有父类本身也是public的)
下面这个不报错的话,说明name是父类的public或protected成员,并不是私有的。
public Child(){
name="XXX";
}
public Child(){
name="XXX";
}
}
class Parent{
public String name;
}是肯定不会报错的,