易科9.29

接口

接口就是定义规范

抽象类中可以有普通方法而接口中的方法都是抽象的,也可以说接口是一个特殊的 抽象类 ,接口不能被 实例化,而且没有构造方法。

定义接口

接口中的方法默认是抽象方法,可以省略abstract修饰符

接口中的方法默认都是public的,所以也可以省略

接口中的变量只能是静态常量(static final),静态常量在定义时就要赋值,切不可变

使用接口

接口使用和抽象类一样,都是通过子类。子类通过 implements 关键字实现接口,实现接口就必须实现 接口中的抽象方法

一个类可以实现多个接口,接口之间使用 , 隔开 接口的实现类中,可以有普通方法 实现的方法必须是 public 的

实现多个接口

Java中的继承是单继承,使用extends关键字,但一个类可以实现多个接口,使用imlements,多个接口使用用,隔开

一个类可以同时继承和实现接口, extends 要在 implements 之前

接口与接口之间是继承关系,使用 extends 关键字。多个接口使用 , 隔开

jdk8接口新特性

default 修饰的方法可以有具体 实现,也只能在接口中出现。 default 修饰的方法可以被重写

多态

一个特定的变量,可以引用多个不同类型的对象,并且自动调用引用对象的方法,也就是说根据不同的引用对象进行不同的操作

重写方法是多态的基础

在继承中,子类和父类拥有相同的方法称为重写

多态中,变量引用的是哪个对象,就执行的是哪个对象中相对应的方法

## 向上转型
由子类类型转换成父类类型,称为向上转型。父类引用指向子类对象
多态就是说一个父类可能有多个子类,每个子类都重写了父类的方法(每个子类都有不同的方法实 现),当父类调用方法时,父类引用指向的是哪个子类,就执行哪个子类的方法。形成了父类引用调用 相同的方法时,有不同的实现。
父类引用只能调用父类中有的方法(子类继承自父类的方法/重写的方法) 父类引用不能调用子类扩展的方法(独有的方法)

向下转型

由父类类型转换成子类类型,称为向下转型。必须要进行强制类型转换。
注意:首先要判断是否属于要强转的类型( instanceof ),如果不属于会报 java.lang.ClassCastException

实现多态的的条件

要有继承关系

父类引用指向子类对象

(向上转型) 子类要重写父类的方法

多态的引用

可替换性 可扩充性 接口性 灵活性 简化性

标签

评论

© 2021 成都云创动力科技有限公司 蜀ICP备20006351号-1