Java 中的 super 关键字
在 Java 中,我们有一个与父类有些相关的预定义关键字 super
。我们将在本教程中详细讨论 super()
函数。
在 Java 中,super
关键字充当父类对象的引用变量。它可以用来调用父类的方法和变量。
例如
class Teacher { //Parent class
int grade = 90;
}
class Students extends Teacher { //subclass
Students()
{
System.out.println("Grade "+ super.grade);
}
}
public class Main {
public static void main(String[] args)
{
Students s = new Students();
}
}
输出:
Grade 90
在上面的示例中,我们使用 super
关键字从其子类 Students
的构造函数访问了父类 Teacher
中的变量 grade
。
我们还有 super()
函数,它调用父类的构造函数。该函数仅用于调用父类的构造函数。可以使用 super()
函数调用参数和非参数构造函数。如果构造函数在使用 super()
函数时没有显式调用超类构造函数,则 Java 编译器本身会调用超类的无参数构造函数。
请参考下面的代码。
class Teacher { //Parent class
Teacher() //constructor
{
System.out.println("Teacher class Constructor");
}
}
class Students extends Teacher { //subclass
Students()
{
super();
System.out.println("Students class Constructor");
}
}
public class Main {
public static void main(String[] args)
{
Students s = new Students();
}
}
输出:
Teacher class Constructor
Students class Constructor
我们在上面的代码中创建了一个父类 Teacher
和一个父类构造函数,它会打印一条消息。然后从 Teacher
扩展了一个子类 Students
,它有一个构造函数 Students()
,它由调用父类构造函数的 super()
函数组成。然后我们有主类,它调用子类来执行程序。super()
函数调用父类构造函数来打印来自父类和子类的消息。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。