如果在Java中不扩展任何类的情况下在构造函数中调用“ super()”会发生什么?

超级关键字是Java超类对象的引用。使用此方法,您可以调用实例方法的构造函数以及超类的变量。

调用超类的构造函数

您可以从子类的构造函数中调用超类的构造函数。

示例

请看以下示例,它具有两个类SuperClass 类和SubClass ,其中SubClass扩展了SuperClass。超类具有参数化的构造函数,我们使用“ super”关键字从子类中调用它。

class SuperClass{
   SuperClass(int data){
      System.out.println("Superclass's constructor: "+data);
   }
}
public class SubClass extends SuperClass{
   SubClass(int data) {
      super(data);
   }
   public static void main(String args[]){
      SubClass sub = new SubClass(400);
   }
}

输出结果

Superclass's constructor: 400

如果超类 具有默认构造函数,则无需显式使用“ super()”调用它,它将被隐式调用。

示例

class SuperClass{
   SuperClass(){
      System.out.println("Superclass's constructor");
   }
}
public class SubClass extends SuperClass{
   SubClass() {
      //超(); 
   }
   public static void main(String args[]){
      SubClass sub = new SubClass();
   }
}

输出结果

Superclass's constructor

如果我们调用“ super()”而没有任何超类

实际上,什么也不会显示。由于名为Object 的类是Java中所有类的超类。如果在没有任何超类的情况下调用“ super()”,则在内部,将调用Object类的默认构造函数(不显示任何内容)。

public class Sample {
   Sample() {
      超(); 
   }
   public static void main(String args[]){
      Sample sub = new Sample();
   }
}

输出结果

//Nothing will be displayed……