如果在Java中调用构造函数中的“super()”,而没有扩展任何类,会发生什么?
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
如果SuperClass具有默认构造函数,则无需显式使用“super()”调用它,它将隐式调用。
示例
class SuperClass{
SuperClass(){
System.out.println("Superclass's constructor");
}
}
public class SubClass extends SuperClass{
SubClass() {
//super();
}
public static void main(String args[]){
SubClass sub = new SubClass();
}
}输出
Superclass's constructor
如果我们不带任何超类调用“super()”
实际上,什么也不会显示。因为名为Object的类是Java中所有类的超类。如果您不带任何超类调用“super()”,则会在内部调用Object类的默认构造函数(它什么也不显示)。
public class Sample {
Sample() {
super();
}
public static void main(String args[]){
Sample sub = new Sample();
}
}输出
//Nothing will be displayed……
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP