为什么会是这样啊我直接赋值b从a继承的name

img


package qq_512;

public class B extends A {
    
    //name="222";//这类无法应用,不符合语法规则
    public B() {//使用构造函数赋值即可
        name="222";
        System.out.println(name);
    }
    public static void main(String[] args) {
        new B();
    }
}

img

首先你的name没有声明是string类型,其次这个不应该放在main方法里嘛?

  1. 父类已经有这个属性所以导致无法定义
  2. 可以在父类初始化name
  3. 如果子类要改变name应该在构造函数或者方法里面this.name=xx