DESKTOP-5NB63LS_20200909-潘振林

问题

  1. 子类对象创建时,会先调用父类构造
  2. 多态:父类中的方法被子类重写,调用对应方法时会调用子类中重写的方法
  3. 类初始化时,会为其中的类变量、类方法完成初始化;会为其中的字段、方法分配内存,但不会执行赋值语句,赋值语句将在实例初始化时执行;
public class Base {
    private String baseName = "base";

    public Base() {
        callName();//多态
    }

    public void callName() {
        System.out.println(baseName);
    }

    static class Sub extends Base {
        //private String baseName= "sub";不管有没有赋值语句都一样,只是为baseName划分了内存空间,并没有执行赋值语句
        private String baseName;//值为null

        public void callName() {
            System.out.println(baseName);
        }
    }

    public static void main(String[] args) {
        Base b = new Sub();
    }
}

心得

好困,好困,好困……

标签

© 2021 成都云创动力科技有限公司 蜀ICP备20006351号-1