关键字super
程序员文章站
2023-01-12 22:38:36
在java类中使用super来调用父类中的指定操作: super可用于访问父类中定义的属性; super可用于调用父类中定义的成员方法; super可用于在子类构造方法中调用父类的构造方法; 注意: 尤其当父子类出现同名成员时,可以用super进行区分; super的追溯不仅限于直接父类,还可以调用 ......
在java类中使用super来调用父类中的指定操作:
super可用于访问父类中定义的属性;
super可用于调用父类中定义的成员方法;
super可用于在子类构造方法中调用父类的构造方法;
注意:
尤其当父子类出现同名成员时,可以用super进行区分;
super的追溯不仅限于直接父类,还可以调用父类的父类;
super和this的用法相像,this代表本类对象的引用,super代表父类的内存空间的标识;
调用父类的构造方法
子类中所有的构造方法默认都会访问父类中空参数的构造方法。
当子类被其他类使用new一个对象时,因为new的对象的值默认是子类的构造方法所产生的值,又因为子类中所有的构造方法默认都会访问父类中空参数的构造方法,当父类中的空参数的构造方法是被显式书写并且有所输出的话,new的对象的值就会默认是父类的构成方法的输出值。也就是说父类的无参数的构造方法会影响到子类的构造方法,从而影响创建对象的的默认值。
当父类中没有空参数的构造方法时,子类的构造方法必须通过this(参数列表)或者super(参数列表)语句指定调用本类或父类中相应的构造方法,且必须放在构造方法的第一行。
当父类是有参构造方法的时候,其子类也必须有一个有参构造方法,好去配合调用父类的有参构造方法,并且调用父类的构造方法要放到第一行。
如果子类构造方法中既未显式调用父类或本类的构造方法,且父类中又没有无参的构造方法,则编译出错。
推荐阅读
-
php关键字仅替换一次的实现函数
-
PHP正则表达式替换站点关键字链接后空白的解决方法
-
JAVA笔记 -- this关键字
-
Implicit super constructor Array() is undefined for default constructor. Must define an explicit constructor
-
super关键字
-
PHP屏蔽过滤指定关键字的方法
-
GTX 1660 Super/1650 Super新卡曝光:清一色GDDR6显存
-
Google Adwords 中针对转换率低的关键字的原因分析
-
Java基础知识之this关键字知识讲解
-
sql中的left join以及on、where关键字的区别