继承关系表示:子类可以继承父类的全部特征并加入一些新的特征,从一个普遍宽泛的类变成一个特殊的类。
那么多态呢?
多态表示:父类对象可以引用指向子类。
继承的“普遍到特殊”是指:向宽泛的父类中添加属性、方法来构造一个具有特殊性的子类。多态的“普遍到特殊”是指:创建的父类的对象 可以通过引用指向子类 成为子类对象。
一个人可以从事不同的职业,我们把人类看作父类,每一种不同的职业看作子类。很明显,一个人有多种可能,可以是教师、医生、程序员··· 但是当这个人还没有找到工作的时候,我们无法确定他是教师还是其他什么职业,唯一确定的就是---他是“人类”。那在他找到工作之前我就称呼他是人类,他就做人类能做的事。他找到工作之后(即确定具体功能后),我再以确切的职业名称称呼他(父类对象person引用指向某一个子类),同时他也就要做这个职业能做的事。
下面我们通过代码感受一下:
父类代码如下:
public class People { People(){ } public void doThings() { System.out.println("人类"); } }
子类代码如下:
public class Teacher extends People{ Teacher(){ } //重写 @Override public void doThings() { System.out.println("教师"); } }
public class Demopeople { public static void main(String[] args) { //person是People类 People person=new People(); person.doThings(); //父类对象引用指向子类 //person2是Teacher类 People person2=new Teacher(); person2.doThings(); } }
以上就是我所理解的java多态的内容,继承和多态是Java中非常重要的概念,两者一起对比理解或许更有利于我们区分和记忆。祝学习进步!