JavaSe

class Main {
    public static void main(String[] args) {
    b bb = new b();
    }
}

class a{
    
//    a(){                          注释我会报错
//        System.out.println("a");
//    }

    a(int a){
        System.out.println(a);
    }
}

class b extends a{

}

其实意思就是, 你如果你的类有继承,你父类如果有有参的构造,那么也一定要有空构造,因为:

如果你什么都不写JVM也会给你一个空构造,但你如果自己写了有参的构造,那么JVM就不理你了,不给你生成空构造,那么:

就没有空构造了,继承永远都会调用空构造的,所以你如果父类没空构造就报错。 

就写那么多,希望帮得到大家!

原理都懂 懒得写 摘抄CSDN - jdkorg

1.如果其中一级只有有参,没有无参,会发生错误。但只有无参,没有有参一定不会出错。

2.在以后的Java开发中,若一个POJO类要有带参构造方法,要记得先写无参构造方法。防止类追溯时找不到上级,报错。

本文来自博客园,作者:咸瑜,转载请注明原文链接:https://www.cnblogs.com/bi-hu/p/14820686.html

原文地址:https://www.cnblogs.com/bi-hu/p/14820686.html