java怎么复写抽象类
时间: 2023-10-12 12:17:21 浏览: 79
如果一个类继承了一个抽象类,那么它必须实现该抽象类中所有的抽象方法。在 Java 中,使用关键字 `extends` 来继承一个抽象类。
下面是一个例子:
```java
public abstract class Animal {
public abstract void makeSound();
}
public class Dog extends Animal {
public void makeSound() {
System.out.println("Woof!");
}
}
```
在这个例子中,`Animal` 是一个抽象类,它有一个抽象方法 `makeSound()`。`Dog` 继承了 `Animal`,并且实现了 `makeSound()` 方法。
注意,如果 `Dog` 没有实现 `makeSound()` 方法,那么 `Dog` 也必须声明为抽象类。
相关问题
java抽象类的子类怎么复写父类的方法
在 Java 中,抽象类中的方法可以被子类继承和实现。要复写父类的抽象方法,子类需要使用 `@Override` 注解来覆盖方法,并提供自己的实现。
以下是一个示例:
```java
abstract class AbstractClass {
abstract void abstractMethod();
}
class SubClass extends AbstractClass {
@Override
void abstractMethod() {
// 在这里提供子类的实现
}
}
```
在上面的示例中,抽象类 `AbstractClass` 声明了一个抽象方法 `abstractMethod()`,它没有提供具体的实现。子类 `SubClass` 继承了 `AbstractClass` 并实现了 `abstractMethod()` 方法,提供了自己的实现。在子类中,通过使用 `@Override` 注解来覆盖父类中的方法,确保子类的实现能够正确地复写父类的方法。
声明一个抽象类Person,此类中定义无参无返回值得抽象方法print(); 声明Teacher类、Student类,均继承自Person类,并复写了print()方法; 运用多态方式实例化子类对象并调用print()方法打印输出信息;
代码如下:
```java
// 定义抽象类 Person
abstract class Person {
public abstract void print();
}
// 定义 Teacher 类,继承自 Person
class Teacher extends Person {
@Override
public void print() {
System.out.println("我是一名老师。");
}
}
// 定义 Student 类,继承自 Person
class Student extends Person {
@Override
public void print() {
System.out.println("我是一名学生。");
}
}
// 测试类
public class Test {
public static void main(String[] args) {
// 多态方式实例化子类对象
Person p1 = new Teacher();
Person p2 = new Student();
// 调用 print() 方法打印输出信息
p1.print(); // 输出:我是一名老师。
p2.print(); // 输出:我是一名学生。
}
}
```
运行结果:
```
我是一名老师。
我是一名学生。
```
阅读全文