Java无参构造方法的作用

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

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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

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

如果我子类未指定super(),而父类又未写无参构造函数将报错

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

public class Parent {

    public Parent(int id) {

    }
}

class Child extends Parent{

    public Child(int id) {
        super(id);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

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

(0)

相关推荐