Java无参构造方法的作用

Java无参构造方法的作用_第1张图片
无参构造函数,主要用于在子类创建对象时使用,java程序在执行子类的构造方法之前,会去调用父类构造方法,可以显示的指定super()某一个父类构造函数,如未显示指定 super(),

public class Chinese extends Person {
      
    Chinese() {
      
       super(); // 调用父类构造方法(1) 
       prt("子类·调用父类”无参数构造方法“: "+"A chinese coder."); 
    } 

系统会自动调用父类中没有参数的构造方法。

如果我子类未指定super(),而父类又未写无参构造函数将报错Java无参构造方法的作用_第2张图片
因为子类继承父类的时候会自动继承默认的构造函数(这里指无参的构造函数)。
而子类里面已经有一个带有参数的构造函数了,如果没有写那个默认的不带参数的构造函数的话,继承的时候就会报错,因为系统不知道要继承哪个构造函数,必须明确的使用super()关键字来描述。

public class Parent {
     

    public Parent(int id) {
     

    }
}

class Child extends Parent{
     

    public Child(int id) {
     
        super(id);
    }
}

所以一般为了避免这种错误的发生,在有带多个构造函数的类里面都会写一个不带参数的构造函数。

你可能感兴趣的:(java)