免费字体网站,网上购物哪家质量好,网站开发与设计现状,成都专业的整站优化在Java中#xff0c;关键字super用于引用一个类的父类。它可以有以下几种用法#xff1a;
1. 访问父类成员#xff1a;通过使用super后跟一个点#xff0c;你可以从子类中访问父类的成员#xff08;方法或字段#xff09;。当子类重写一个方法或…在Java中关键字super用于引用一个类的父类。它可以有以下几种用法
1. 访问父类成员通过使用super后跟一个点你可以从子类中访问父类的成员方法或字段。当子类重写一个方法或隐藏一个字段时通过使用super可以引用父类的版本。
2. 调用父类构造方法在子类的构造方法中可以使用super关键字调用父类的构造方法。这是为了使用父类构造方法初始化子类继承的成员。
以下是一个示例来说明这些用法
class Animal {protected String name;public Animal(String name) {this.name name;}public void makeSound() {System.out.println(动物正在发出声音);}
}class Dog extends Animal {private String breed;public Dog(String name, String breed) {super(name); // 调用父类构造方法this.breed breed;}Overridepublic void makeSound() {super.makeSound(); // 调用父类方法System.out.println(狗在叫);}public void display() {System.out.println(名字: super.name); // 访问父类字段System.out.println(品种: this.breed);}
}public class Main {public static void main(String[] args) {Dog dog new Dog(巴迪, 拉布拉多);dog.makeSound();dog.display();}
}
输出 动物正在发出声音 狗在叫 名字: 巴迪 品种: 拉布拉多
在上面的示例中类Dog继承了类Animal并重写了makeSound()方法。在重写的方法中使用super关键字调用了父类的makeSound()方法。还使用super关键字从子类的display()方法中访问了父类的name字段。最后super关键字被用来在子类构造方法中调用父类的构造方法。 访问父类方法
class Animal {public void eat() {System.out.println(Animal is eating.);}
}class Dog extends Animal {Overridepublic void eat() {super.eat(); // 调用父类的eat()方法System.out.println(Dog is eating.);}
}public class Main {public static void main(String[] args) {Dog dog new Dog();dog.eat();}
}
输出
Animal is eating. Dog is eating.
在上面的示例中子类Dog重写了父类Animal的eat()方法并使用super.eat()调用了父类的eat()方法然后在子类中添加了额外的输出。 调用父类构造方法
class Animal {private String name;public Animal(String name) {this.name name;}public void display() {System.out.println(Name: name);}
}class Dog extends Animal {private String breed;public Dog(String name, String breed) {super(name); // 调用父类的构造方法this.breed breed;}public void display() {super.display(); // 调用父类的display()方法System.out.println(Breed: breed);}
}public class Main {public static void main(String[] args) {Dog dog new Dog(Buddy, Labrador);dog.display();}
}
输出
Name: Buddy Breed: Labrador
在上面的示例中子类Dog有自己的构造方法并使用super(name)调用了父类Animal的构造方法来初始化父类的实例变量。然后在子类的display()方法中使用super.display()调用了父类的display()方法并在子类中添加了额外的输出。
这些练习示例演示了super关键字在访问父类方法和调用父类构造方法时的用法。你可以根据这些示例进行练习和进一步尝试。