Java中的super和this关键字有什么区别?

是在Java中的关键字被用作当前类的对象的引用。使用它,您可以-

  • 如果实例变量与局部变量在构造函数或方法中具有相同的名称,则将它们区分。

  • 从类的另一种构造函数中调用另一种构造函数(参数化的构造函数或默认构造函数)。这称为显式构造函数调用。

示例

class Superclass {
   int age;
   Superclass(int age) {
      this.age = age;
   }
   public void getAge() {
      System.out.println("The value of the variable named age in super class is: " +age);
   }
}

超级是Java关键字被用作给超类的对象的引用。像这个关键字-

  • 如果它们具有相同的名称,则用于区分超类的成员和子类的成员。

  • 它用于从子类调用超类构造函数。

示例

class Superclass {
   int age;
      Superclass(int age) {
      this.age = age;
   }
   public void getAge() {
      System.out.println("The value of the variable named age in super class is: " +age);
   }
}
public class Subclass extends Superclass {
   Subclass(int age) {
      super(age);
   }
   public static void main(String argd[]) {
      Subclass s = new Subclass(24);
      s.getAge();
   }
}

输出结果

The value of the variable named age in super class is: 24