Java的构造方法的加载机制Constructor

2026-04-20 00:56:05

1、测试:创建对象时,会先调用父类的构造方法,再调用自身的构造方法。

Java的构造方法的加载机制Constructor

2、上面的测试可以知道:如果子类的构造方法不用super指定父类的构造方法,则会调用父类的无参构造方法。

如果指定使用super指定父类的构造方法,则其在调用父类构造方法时,就会调用指定的构造方法。

Java的构造方法的加载机制Constructor

Java的构造方法的加载机制Constructor

3、注意super必须放在子类构造方法的第一行,否则会报错。

Java的构造方法的加载机制Constructor

4、如果不使用super指定父类的构造方法,而把父类的无参构造方法删除,则会报错,再一次说明当不使用super指定父类的构造方法时,调用的是父类的无参构造方法。

Java的构造方法的加载机制Constructor

5、测试:使用this调用别的构造方法,会不会导致父类中的构造方法执行两次。

结论:不会,父类中只会执行一个构造方法,this指定的构造方法对应的父类构造方法会执行。

“Father”并没有输出,说明父类的无参构造方法没有执行。

Java的构造方法的加载机制Constructor

Java的构造方法的加载机制Constructor

6、this和super不能同时在一个构造方法中出现。this和super必须放在构造方法的第一行。

调用构造方法的语句,必须放在第一行,即this和super的语句必须放在第一行。

Java的构造方法的加载机制Constructor

相关推荐
  • 阅读量:127
  • 阅读量:142
  • 阅读量:192
  • 阅读量:72
  • 阅读量:132
  • 猜你喜欢