java构造方法中super()的作用是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java构造方法中super()的作用是啥?相关的知识,希望对你有一定的参考价值。

参考技术A 其实在java里,super关键字有主要的两种用法:\\x0d\\x0a1、用在子类的构造方法里,主要是调用父类的默认构造方法。\\x0d\\x0a2、在子类里调用隐藏或重写的属性或行为。\\x0d\\x0a要理解用法第一,涉及到java的对象的初始化,要明白第二用法,不难但要先有继承多态的基础,就很好理解了!

关键字super在java中的主要作用是啥,如何使用?

JAVA程序设计里面的

关键字super在java中的主要作用是什么,如何使用?

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

super.query();

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

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

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

参考技术A 在继承关系中,子类中的super可以调用父类的中的方法,包括构造方法和其他方法;当你new 一个子类的实例时,实际是在子类的构造方法中隐式地调用了父类的无参构造方法; 参考技术B super是指向父类的引用.....就好像this是指向自身的引用

利用此引用可以调用父类共有方法。。。。调用父类共有成员。。。调用父类public构造器.......

记住就是指向父类的引用就是
参考技术C 调用父类的方法。

以上是关于java构造方法中super()的作用是啥?的主要内容,如果未能解决你的问题,请参考以下文章

java 构造方法中super()的作用?

java 定义变量的作用是啥?

java中super关键字的作用

java 自定义构造方法,默认函数,看下面的例子,作用,区别,是啥?

java中的super()是啥

C#和Java中的构造器constructor是啥?起啥作用?为啥不可以被override??