java中this、super关键字
关于this
-
this修饰属性和方法- 在类的方法和构造器中,我们可以使用类
this.属性或this.方法的形式,调用当前对象的属性或方法。
- 在类的方法和构造器中,我们可以使用类
-
this调用构造器-
规定:
this(形参列表)必须声明在当前构造器的首行;构造器内部最多只能写一个this(形参列表),用来调用其他的构造器。 -
我们在类的构造器中,可以显示的使用
this(形参列表)方式,调用本类中指定的其他构造器。 -
构造器中不能通过
this(形参列表)方式调用自己。 -
如果一个类中有
n个构造器,则最多有n-1个构造器中使用了this(形参列表)。
关于super
-
super可以理解为“父类的”
-
super可以用来调用属性、方法、构造器
-
super的使用:调用属性和方法
- 我们可以在子类的方法或构造器中,通过
super.属性或super.方法的方式,显示的调用父类中声明的属性或方法。 - 特殊情况,当子类和父类中定义了同名的属性时,我们要想在子类中调用父类中声明的属性,则必须显示的使用
super.属性的方式,表明调用的是父类中声明的属性。 - 特殊情况,当子类重写了父类中的方法以后,我们想在子类的方法中调用父类发方法时,则必须显示的使用
super.方法的方式,表明调用的是父类中被重写的方法。
- 我们可以在子类的方法或构造器中,通过
-
super调用构造器
- 我们可以在子类的构造器中显示的使用
super(形参列表)的方式,调用父类中声明的指定构造器。 super(形参列表)的使用,必须声明在子类构造器的首行。- 我们在类的构造器中,针对
this(形参列表)或super(形参列表)只能二选一,不能同时出现。 - 在构造器的首行,若没有显示的声明
this(形参列表)或super(形参列表),则默认调用的是父类中空参的构造器。 - 在类的多个构造器中,至少有一个类的构造器中使用了
super(形参列表)来调用父类中的构造器。
- 我们可以在子类的构造器中显示的使用
-
-