java中this、super关键字

149 阅读2分钟

java中this、super关键字

关于this

  1. this修饰属性和方法

    • 在类的方法和构造器中,我们可以使用类this.属性this.方法的形式,调用当前对象的属性或方法。
  2. this调用构造器

    • 规定: this(形参列表)必须声明在当前构造器的首行;构造器内部最多只能写一个this(形参列表),用来调用其他的构造器。

    • 我们在类的构造器中,可以显示的使用this(形参列表)方式,调用本类中指定的其他构造器。

    • 构造器中不能通过this(形参列表)方式调用自己。

    • 如果一个类中有n个构造器,则最多有n-1构造器中使用了this(形参列表)


      关于super

      1. super可以理解为“父类的”

      2. super可以用来调用属性、方法、构造器

      3. super的使用:调用属性和方法

        • 我们可以在子类的方法或构造器中,通过super.属性super.方法的方式,显示的调用父类中声明的属性或方法。
        • 特殊情况,当子类和父类中定义了同名的属性时,我们要想在子类中调用父类中声明的属性,则必须显示的使用super.属性的方式,表明调用的是父类中声明的属性。
        • 特殊情况,当子类重写了父类中的方法以后,我们想在子类的方法中调用父类发方法时,则必须显示的使用super.方法的方式,表明调用的是父类中被重写的方法。
      4. super调用构造器

        • 我们可以在子类的构造器中显示的使用super(形参列表)的方式,调用父类中声明的指定构造器。
        • super(形参列表)的使用,必须声明在子类构造器的首行。
        • 我们在类的构造器中,针对this(形参列表)super(形参列表)只能二选一,不能同时出现。
        • 在构造器的首行,若没有显示的声明this(形参列表)或super(形参列表),则默认调用的是父类中空参的构造器。
        • 在类的多个构造器中,至少有一个类的构造器中使用了super(形参列表)来调用父类中的构造器。