JAVAEE细细看 进阶 02 - 多态

多态

同一个对象,在不同时刻表现出来的不同形态

举例:猫
我们可以说猫是猫:猫 cat = new 猫();
我们也可以说猫是动物:动物 animal = new 猫();
这里猫在不同的时刻表现出来了不同的形态,这就是多态

一. 多态的前提和体现
有继承/实现关系(父类,接口)
有方法重写
有父类引用指向子类对象
二. 多态中成员的访问特点

成员变量:编译看左边,执行看左边 (前提是变量不能封装,即不能私有)
成员方法:编译看左边,执行看右边
为什么成员变量和成员方法的访问不一样呢:
答案:因为成员方法有重写,而成员变量没有

三. 抽象类 (abstract)

抽象类的特点:
JAVAEE细细看 进阶 02 - 多态_第1张图片
抽象类的成员特点:
JAVAEE细细看 进阶 02 - 多态_第2张图片

四. 接口 (interface)

概述:
接口就是一种公共的规范标准,只要符合规范标准,大家都可以通用
Java中的接口更多的体现在对行为的抽象上
接口的特点:
a. 接口用关键字interface修饰
public interface 接口名{}
b. 类实现接口,用implements 表示
public class 类名 implements 接口名 {}
c. 接口不能实例化
接口如何实例化?参照多态的方式,通过实现类对象的实例化,这叫做接口多 态
多态的形式:具体类多态,抽象类多态,接口多态
多态的前提:有几成或者实现关系;有方法重写;有父(类/接口)引用指向(子/ 实现)类对象
d. 接口的实现类
要么重写接口中的所有抽象方法
要么是抽象类

接口的成员特点JAVAEE细细看 进阶 02 - 多态_第3张图片

五. 案例

JAVAEE细细看 进阶 02 - 多态_第4张图片

你可能感兴趣的:(java,java,多态)