Java中this与super

2021/7/28 14:07:20

本文主要是介绍Java中this与super,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、this

  1. this可以用来修饰属性方法构造器
  2. this修饰属性和方法时:
     this理解为当前对象当前正在创建的对象
     2.1 在类的方法中,可以使用“this.属性”或“this.方法”,调用当前对象的属性或方法,通常我们可以省略this,但如果方法的形参与类的属性重名时,我们必须显式地使用this来表明次变量时属性,而非形参
     2.2 在类的构造器中,可以使用“this.属性”或“this.方法”,调用当前正在创建的对象的属性或方法,通常我们可以省略this,但如果构造器的形参与类的属性重名时,我们必须显式地使用this来表明次变量时属性,而非形参
  3. this调用构造器
     3.1 在类的构造器中,可以显式的使用“this(参数表)”的方式调用本类中其他的构造器
     3.2 构造器中不能通过“this(参数表)”的方式调用自己
     3.3 如果一个类这种有n个构造器,那么最多只能有n-1个构造器使用“this(参数表)”
     3.4 “this(参数表)”必须声明在当前构造器的首行
     3.5 构造器内部,最多只能声明一个“this(参数表)”,来调用其他构造器

二、super

  1. super可以理解为父类
  2. super可以调用:属性方法构造器
  3. super调用属性,方法
     3.1 在子类的方法或构造器中,使用“super.属性”或“super.方法”的方式调用父类中声明的属性或方法,通常情况下可以省略super
     3.2 当子类和父类中定义了同名的属性时,如果想在子类中调用父类的属性,那么必须显式的使用“super.属性”的方式,这表明调用的是父类的属性
     3.3 当子类重写了父类的方法时,如果想在子类中调用父类中被重写的方法,那么必须显式的使用“super.方法”的方式,这表明调用的是父类中被重写的方法
  4. super调用构造器
     4.1 我们可以使用“super(参数表)”的方法调用父类中的声明的构造器
     4.2 “super(参数表)”使用时必须声明在子类构造器的首行
     4.3 在类的构造器中“super(参数表)”和“this(参数表)”只能二选一,不能同时出现(因为它们都要求要放在构造器的首行)
     4.4 在构造器首行没有显式声明“super(参数表)”或“this(参数表)”,则默认调用的是父类的空参构造器,即“super()”
     4.5 子类的多个构造器中,至少有一个构造器调用“super(参数表)”的形式调用父类中的构造器


这篇关于Java中this与super的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程