当前位置:主页 » Java的构造方法的加载机制Constructor

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

每个Java类都有至少一个构造方法,如果不显示的声明一个构造方法,则Java会自动给类创建一个无参构造方法。当实用类创建对象时,会调用类的构造方法,如果类继承了某个类,则会先调用超类的构造方法,再调用自身的构造方法,如果使用super,怎会调用super指定的父类构造方法。构造方法也可以通过this调用自身的构造方法。编写测试类测试几种情况。

需要准备的:

Constructor

详细操作方法和步骤:

测试:创建对象时,会先调用父类的构造方法,再调用自身的构造方法。
上面的测试可以知道:如果子类的构造方法不用super指定父类的构造方法,则会调用父类的无参构造方法。 如果指定使用super指定父类的构造方法,则其在调用父类构造方法时,就会调用指定的构造方法。
注意super必须放在子类构造方法的第一行,否则会报错。
如果不使用super指定父类的构造方法,而把父类的无参构造方法删除,则会报错,再一次说明当不使用super指定父类的构造方法时,调用的是父类的无参构造方法。
测试:使用this调用别的构造方法,会不会导致父类中的构造方法执行两次。 结论:不会,父类中只会执行一个构造方法,this指定的构造方法对应的父类构造方法会执行。 “Father”并没有输出,说明父类的无参构造方法没有执行。
this和super不能同时在一个构造方法中出现。this和super必须放在构造方法的第一行。 调用构造方法的语句,必须放在第一行,即this和super的语句必须放在第一行。

需要注意的:

请看图片示例:

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

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

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

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

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

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

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

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