java中默认构造函数和非参数构造函数的区别?

Ant*_*ong 0 java inheritance constructor

我在制作一些程序的过程中发现了一个有趣的东西.这是一个简单的代码.当我创建此代码时,类Son发生了错误.这意味着第二个构造函数需要一个像这样的非参数构造函数.public classname(){}.

但是,所有类都有自己的默认构造函数,所以我认为不需要创建非参数构造函数.它们之间有区别吗?

class Papa 
{
    private int papa_var;

    public Papa(String name, int age)
    {
    }
}

class Son extends Papa
{
    private int son_var;

    public Son(String name, int age)
    {
        super(name,age);
    }
    public Son(int car, int robot)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

The*_*ind 5

但是,所有类都有自己的默认构造函数,所以我认为不需要创建非参数构造函数.它们之间有区别吗?-第Java提供了一个默认的或者非参数只有当你确定没有其他的构造函数的构造