目录
前言
首先我们先来了解一下继承的基本概念,继承描述的是事物之间的所属关系,通过继承可以实现多种事物之间形成一种关系体系,在JAVA中类的继承是指在一个现有类的基础上去构建一个新的位,构建出来的心内称为子类,现有类称为父类,子类继承父类的属性和方法,使得子类对象具有父类的特性和行为。格式如下:
class 父类{
....
}
class 子类 extends 父类{
....
}
一、super关键字
当子类重写父类的方法和子类对象将无法访问父类被重写的方法,为了解决这个问题,JAVA提供的super关键字,super关键字可以在此类中调用父类的普通属性方法和构造方法,下面详细讲解super关键字的具体用法:
(1)使用super关键字访问父类的成员变量和方法
super.成员变量
super.成员方法(参数1,参数2...)
(2)使用super关键字访问父类中指定的构造方法
super(参数1,参数2..)
二、访问特点
(1) 在子类的构造方法中,如果没有显示的写一个super(); ,则会默认的赠送一个,如果显示的写了一个,则不会再赠送。
注意观察以上两张图的代码,在第二章图中我们写了一个super(),和第一个没有写的运行结果相同,可以证明我们所说的如果没有显示的写,则默认会赠送一个,如果显示的写了一个,则不会再赠送。
(2)super(参数),必须是第一个语句,否则会报错,在创建子类对象时,子类一定会调用父类的某个构造方法,如果没有参数,默认调用无参构造,如果有参数,调用有参构造。
三、this关键字
常见用法:
this.本类成员变量
this.本类成员方法
this(参数)
(1)访问本类中的属性,如果本类没有该属性,则从父类中查找。
(2)访问本类中的方法,如果本类没有该方法,则从父类中查找。
(3)必须写在构造方法的第一行(所以super() this() 不能同时存在)。
(4)只能调用本类的其他构造方法,不能调用自己(即不能递归调用,不能在一个构造方法中通过this直接或间接调用该构造方法本身)。
总结
以上就是我对继承关系下,构造方法的访问特点,主要介绍了super 和this两个关键字,还有一些特别的使用方法以及注意事项,文章还有很多的不足,希望大家指出。