super关键字的理解及使用

在继承关系中,子类中的super可以调用父类的中的方法,包括构造方法和其他方法;当你new 一个子类的实例时,实际是在子类的构造方法中隐式地调用了父类的无参构造方法;

对于有继承关系的类,子类可以通过这个关键字调用父类中的方法。理解如下:

eg:
public int A extends B{

super.query();

此句话的意思是调用父类中的方法query()[当然这个方法不可以使private类型],在你理解的时候,你看到super你可以把它看成是B方法的实例。即
B b = new B();然后b.qurey()

至于原理,就是,当你new A()时,实例化的顺序是先实例化父类,再实例化子类的,所以继承的类都是这样的。这应该也是子类为什么可以调用父类的方法的原因。

在同一个类中用super关键字,调用其它构造函数,他一般也是在构造方法中,为了避免代码重复,直接调用已经写过的代码,你要注意的是他的写法,即 super(构造方法名),而且必须是这个构造方法的第一句。

}

猜你喜欢

转载自blog.csdn.net/qq_31301961/article/details/80747278