当前位置: 首页 > 后端技术 > Java

java关键字super

时间:2023-04-01 19:14:17 Java

的详细介绍大家好,我是科坦。由于最近比较忙,所以很久没有更新了。今天继续更新java关键字super。super其实可以结合这个来解释。this表示当前对象的引用。super表示对父类对象的引用。接下来,将解释变量和方法的具体组合。1、调用父类的成员变量,组合如下代码:}}子类通过super.Propertyname直接调用父类的成员变量名。2、将调用父类的方法结合如下代码:publicclassParent{publicStringname;publicvoidsetName(Stringname){this.name=name;}}publicclassSonextendsParent{publicvoidprintName(){super.setName("ketang");//调用父类方法,设置父类对象名称的值System.out.println(super.name);//调用父类属性给ketang}publicstaticvoidmain(String[]args){Sonson=newSon();son.printName();//输出ketang}}子类通过super调用父类对象的方法。方法。3.父类的构造方法。前两个比较容易理解。下面详细说一下父类的构造方法。在java中,除了类Object,其他的类都有自己的父类,在加载类的时候就会显示出来。首先加载父类。那么什么时候调用父类的构造函数呢?实际上,在调用子类的构造函数时,他隐式调用了super();在默认无参构造函数的情况下,实际情况如下:publicclassParent{publicParent(){System.out.println("父类构造方法");}}publicclassSonextendsParent{publicSon(){//super();实际上,在调用子类构造方法之前,会先调用super(),再调用父类构造方法。System.out.println("子类构造方法");}publicstaticvoidmain(String[]args){Sonson=newSon();}}那么有人会问了,如果父类只有Reference构造方法,那么在子类中如何调用呢?这时候子类的构造方法一定要写出来,super(parameters...args)一定要放在子类构造方法的第一行。以下代码:publicclassParent{privateStringname;publicParent(Stringname){this.name=name;System.out.println("父类有带参数的构造函数,但是没有无参数的构造函数");}}publicclassSonextendsParent{publicSon(){super("ketang");//必须加,否则会报错System.out.println("子类无参数构造方法");}publicstaticvoidmain(String[]args){Sonson=newSon();}}而且super关键字和this关键字一样,必须出现在构造方法的第一行,否则会报错。所以这也说明this()和super()不能同时出现在构造函数中。关于super的关键词的聊到这里就结束了。这里是科塘。我将分享我所学到的和我得到的。欢迎大家相互交流。csdn地址:https://blog.csdn.net/kaneand...