Java 定义超类,并通过继承定义子类,在子类中重写方法
时间: 2023-12-27 08:02:08 浏览: 82
Java 中定义超类可以使用关键字 `class`,并在类名后加上 `extends` 关键字和超类的名称,例如:
```
public class SuperClass {
// 超类的属性和方法
}
public class SubClass extends SuperClass {
// 子类的属性和方法
}
```
在子类中重写超类的方法,可以使用 `@Override` 注解来标记方法,确保子类中的方法与超类中的方法签名一致,例如:
```
public class SuperClass {
public void doSomething() {
// 超类的实现
}
}
public class SubClass extends SuperClass {
@Override
public void doSomething() {
// 子类的实现
}
}
```
这样,在使用子类对象调用 `doSomething()` 方法时,会优先执行子类中重写的方法。
相关问题
Java 定义超类,并通过继承定义子类,在子类中重写方法代码
以下是一个例子:
```java
// 定义超类 Animal
public class Animal {
public void makeSound() {
System.out.println("This is the sound of an animal.");
}
}
// 定义子类 Cat,继承 Animal
public class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("The cat meows.");
}
}
```
在这个例子中,超类 Animal 定义了一个 makeSound 方法,该方法输出一个字符串。子类 Cat 继承了超类 Animal 并重写了 makeSound 方法,将输出改为“猫叫”。
注意,在子类中重写超类的方法时,需要使用 `@Override` 注解来明确表示该方法是对超类方法的重写。这样有助于编译器检查方法签名是否正确,并且可以使代码更易于理解。
定义超类,并通过继承定义子类,在子类中重写方法代码
以下是一个简单的 Java 代码示例,演示了如何定义超类 `Animal`,并通过继承定义子类 `Cat` 和 `Dog`,在子类中重写 `Animal` 类中的 `makeSound()` 方法:
```
public class Animal {
public void makeSound() {
System.out.println("The animal makes a sound.");
}
}
public class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("The cat meows.");
}
}
public class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("The dog barks.");
}
}
```
在上述代码中,`Animal` 类定义了一个 `makeSound()` 方法,`Cat` 类和 `Dog` 类都继承了 `Animal` 类,并且在子类中重写了 `makeSound()` 方法。
当我们创建 `Cat` 类和 `Dog` 类的对象,并调用它们的 `makeSound()` 方法时,会优先执行子类中的方法。
例如:
```
public static void main(String[] args) {
Animal cat = new Cat();
Animal dog = new Dog();
cat.makeSound(); // 输出 "The cat meows."
dog.makeSound(); // 输出 "The dog barks."
}
```
在上述代码中,我们创建了一个 `Cat` 类对象和一个 `Dog` 类对象,并将它们都赋值给了 `Animal` 类型的变量。当我们调用它们的 `makeSound()` 方法时,会根据实际类型来执行相应的方法,输出各自的声音。
阅读全文