Java 是一门面向对象的编程语言,继承是面向对象编程中的一个重要特性。在 Java 中,子类可以继承父类的属性和方法,同时也可以重写父类的方法。但是在某些情况下,子类需要调用父类的方法或属性,本文将介绍 Java 如何调用父类的方法。
使用 super 关键字调用父类方法
在 Java 中,子类可以使用 super 关键字来调用父类的方法。super 关键字用于访问父类的属性和方法,可以在子类中使用 super 关键字来调用父类的方法。在子类中使用 super 调用父类的方法的语法如下:
super.父类方法名(参数列表);
其中,父类方法名是要调用的父类方法的名称,参数列表是要传递给父类方法的参数列表。下面是一个使用 super 关键字调用父类方法的示例:
public class Animal {
public void eat() {
System.out.println("Animal is eating.");
}
}
public class Dog extends Animal {
public void eat() {
super.eat();
System.out.println("Dog is eating.");
}
}
public class Main {
public static void main(String[] args) {
Dog dog = new Dog();
dog.eat();
}
}
在上面的示例中,Dog 类继承了 Animal 类,重写了 eat() 方法,并在方法体中使用 super.eat() 调用了父类的 eat() 方法。运行上面的代码,输出结果为:
Animal is eating.
Dog is eating.
可以看到,当 Dog 类的 eat() 方法被调用时,先调用了父类的 eat() 方法,然后再输出 Dog is eating.。
使用 super 关键字调用父类构造函数
在 Java 中,子类可以使用 super 关键字来调用父类的构造函数。当子类创建实例时,必须先调用父类的构造函数来初始化父类的属性,然后才能初始化子类的属性。在子类中使用 super 调用父类的构造函数的语法如下:
super(参数列表);
其中,参数列表是要传递给父类构造函数的参数列表。下面是一个使用 super 关键字调用父类构造函数的示例:
public class Animal {
private String name;
public Animal(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
public class Dog extends Animal {
private int age;
public Dog(String name, int age) {
super(name);
this.age = age;
}
public int getAge() {
return age;
}
}
public class Main {
public static void main(String[] args) {
Dog dog = new Dog("Tom", 2);
System.out.println("Name: " + dog.getName());
System.out.println("Age: " + dog.getAge());
}
}
在上面的示例中,Dog 类继承了 Animal 类,重写了 eat() 方法,并在方法体中使用 super.eat() 调用了父类的 eat() 方法。运行上面的代码,输出结果为:
Name: Tom
Age: 2
可以看到,当创建 Dog 类的实例时,先调用了父类的构造函数来初始化父类的属性,然后再初始化子类的属性。
总结
在 Java 中,子类可以使用 super 关键字来调用父类的方法或构造函数。使用 super 关键字可以访问父类的属性和方法,可以在子类中重写父类的方法,同时也可以在子类中调用父类的方法或构造函数。
本文来自漆雕秀杰投稿,不代表java学习网立场,如若转载,请注明出处:https://www.javaxue.com/ask/61285.html