2 什么是 Java 的多态特性?
约 304 个字 19 行代码 预计阅读时间 1 分钟
多态其实是一种抽象行为,它的主要作用是让程序员可以面对抽象编程而不是具体的实现类,这样写出来的代码扩展性会更强。
大家可能不是很理解什么是抽象什么是具体,我举个可能不是很恰当,但是很好理解的例子:比如某个人很喜欢吃苹果,我们在写文章描述他的时候可以写他很喜欢吃苹果,也可以写他很喜欢吃水果。
水果就是抽象,苹果就是具体的实现类。
假设这个人某天开始换口味了,他喜欢吃桃子了,如果我们之前的文章写的是水果,那么完全不需要改,如果写的是苹果,是不是需要把苹果替换成桃子了?
这就是多态的意义。
再举个代码的例子:
比如 Person person = new Student()
Person 是父类,含有一个工作的方法,student 重写工作方法,比如上学。
class Person {
void work() {
System.out.println("工作");
}
}
class Student extends Person {
@Override
void work() {
System.out.println("上学");
}
}
public class Test {
public static void main(String[] args) {
Person person = new Student();
person.work(); // 输出 "上学"
}
}
这样在使用的时候,对象都是 person,但是 new 不同的实现类,表现的形式不同,这也就从字面上解释的什么叫多态。