Java抽象类与方法

Java抽象类与方法

我们之前学多态的时候知道了子类可以继承父类,除了重写还可以进行延伸
多态中有一段代码是这样的:

可以看到Animal没有任何实质性的代码,而且前面有一个abstract,这个就是抽象类。

一般来说,我们是要这么写父类的:

1
2
3
4
5
class Person {
public void run() {
System.out.println("hihi");
}
}

这里没有写abstract,但是run()里面是有内容的,你可能要问,反正都要重写,这个里面有内容的意义在哪里?
确实,没有意义,但是必须存在,如果你不想让run()里面有内容就要把它变为抽象方法。

1
2
3
abstract class Person {
public abstract void run();
}

有了抽象方法就一定有抽象类,他们是绑在一起的。

但是有了抽象类是有可能包括非抽象方法的。

应用实例: