如果在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……