抽象类与接口
抽象类
- 抽象类和抽象方法必须使用 abstract 关键字修饰
public abstract class 类名 {}
public abstract void 方法名{}
- 抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类
- 抽象类不能直接实例化
抽象类如何实例化?参照多态的方式,通过子类对象实例化,也叫作抽象类多态
- 抽象类的子类
要么重写抽象类中的所有抽象方法
要么自己也是抽象类
- 抽象类的成员特点
- 成员变量
- 可以是变量
- 也可以是常量
- 有构造方法
- 成员方法
- 可以有抽象方法:限定子类必须完成某些动作
- 也可以有非抽象方法:提高代码的复用性
- 成员变量
接口
- 接口用关键字 interface 修饰
- 类实现接口用 implements 表示
- 接口不能直接实例化
接口如何实例化呢?参照多态的方式,通过实例化类对象来实例化,也叫作接口多态
多态的前提:有继承或者实现关系;有方法重写;有父(类/接口)引用指向(字/实现)类对象
- 接口的实现类
要么重写接口中的所有抽象方法
要么是抽象类
- 接口中的成员特点
- 成员变量
- 只能是常量
- 默认用修饰符:public static final
- 没有构造方法
- 成员方法
- 只能是抽象方法
- 默认修饰符:public abstract
- 成员变量
抽象类与接口的区别
- 成员
- 抽象类:常量,变量;构造方法;非抽象方法,抽象方法
- 接口:常量;抽象方法
- 关系区别
- 类与类:继承--单继承
- 类与接口:实现,可以单实现,也可以多实现
- 接口与接口:继承--可以单继承,也可以多继承
- 使用设计理念
- 抽象类:对类抽象,包括属性、行为
- 接口:对行为抽象,主要是行为
本文来自博客园,作者:早晨9点,转载请注明原文链接:https://www.cnblogs.com/onesun/p/15771485.html

浙公网安备 33010602011771号