JAVA super关键字以及 构造方法

1、调用父类的构造方法:super(), or super(parameters);

注:不像属性和方法,父类的构造方法是不被子类继承的,只能从子类的构造方法中用super关键字来调用。

2、super必须放在构造方法的第一行。

3、构造方法可以调用重载的构造方法(使用this关键字)或他的父类的构造方法(使用super关键字),如果没有被显式的调用,编译器会自动把super()作为构造方法的第一条语句。

4、构造方法链 就是在构造一个实例的时候,将会调用沿着继承链的所有父类的构造方法。

5、最好能够为每一个类提供一个无参构造方法,以便于对该类进行扩展的时候避免错误。

例如:

public class Apple extends Fruit{
}

class Fruit {
     public Fruit(String name){
          System.out.println("this constructor is invoked");
     }
}

 由于Apple没有构造方法,于是在新建实例的时候,Apple的默认无参构造函数会被调用,默认构造函数又会调用Fruit的无参构造函数,但是Fruit没有这个函数,所以编译错误。

猜你喜欢

转载自2723364262.iteye.com/blog/2313080
今日推荐