【Java笔记】构造方法链

来源:互联网 发布:黑客帝国矩阵屏保 编辑:程序博客网 时间:2024/06/05 08:03

构造方法可以调用父类的构造方法,如果没有被调用,编译器将自动地把 super() 作为构造方法地第一条语句。


public ClassName() {}
等价于
public ClassName() {super();}

public ClassName(int i) {}
等价于
public ClassName(int i) {super();}

当构造一个子类对象时,子类构造方法在执行自己的语句前会先调用父类的构造方法,如果父类继承自其他类,那么在执行父类构造语句前会先调用父类的父类的构造方法,一直这样调用下去,直到调用了 Object 的构造方法(Object 类是所有类的父类)。这就是构造方法链。

下面附上一个例子:

public class constructor {public static void main(String[] args) {Apple apple = new Apple();}}class Food {public Food() {System.out.println("create food");}}class Fruit extends Food {public Fruit() {System.out.println("create fruit");}}class Apple extends Fruit {public Apple() {System.out.println("create apple");}}

输出结果为:

create foodcreate fruitcreate apple

1 0
原创粉丝点击