java-super关键字

首先看一个代码:

在这里插入图片描述
新建一个Java class 名字叫Hero

在这里插入图片描述
然后新建一个Java class名字叫miao

在这里插入图片描述
可以看到有这个输出:
在这里插入图片描述
此时的this.name在自己类中看不到名字,但是通过extends可以找到父类中的名字。
但是如果miao类里面加入一个name:
在这里插入图片描述
就会有如下的输出:

在这里插入图片描述
说明变量查找的顺序是先找自己类,再找自己的父类。
super在代码中的作用如下:
在这里插入图片描述
super:表示父类中的内容。
this:表示自己类中的内容。
用super和this可以区分父类和子类中匿名的内容。
我们定义一个子类的构造方法miao,如下:
在这里插入图片描述
然后,定义一个父类的构造方法:
在这里插入图片描述
然后输出:
在这里插入图片描述
可以看到先输出父类中的。
在这里插入图片描述但是输出的时候,先输出的是父类
在这里插入图片描述
在子类方法的第一行,会默认调用父类方法。只能放在第一行,因为必须先构造父类的对象,然后在往下。
super可以获取父类中的内容
可以调用父类中的构造方法,必须写在子类构造方法的第一行。如果父类的构造方法是无参数的,可以不写,如果父类没有无参数的构造,那么必须写。

猜你喜欢

转载自blog.csdn.net/weixin_55775980/article/details/127077423