什么是抽象
抽象就是抽取相关的特性(属性和方法)组成对象,用用程序的方法逻辑和数据结构模拟现实世界的对象。
比如说人就是一个抽象的对象,人都具有说话、行走的能力。个人是一个具体的对象,继承了人的特征。
abstract
java中使用abstract关键字定义抽象方法或抽象类。
抽象类 :含有抽象方法,用abstract关键字修饰的类
抽象方法:用abstract关键字修饰的方法,不能有方法体,只能进行方法生命。
抽象类的特点
不能用private关键字修饰,因为抽象类需要子类继承实现抽象方法,而private关键字修饰的属性不能被继承
抽象类不能被实例化,就是不能用new关键字来创建对象
抽象类是一种强约束,继承抽象类的子类必须实现抽象类中的抽象方法,否则子类必须定义成抽象类
interface 接口
接口是一种特殊的抽象类,是用来对外声明一种规则。
接口用implements来实现,继承接口的类必须实现接口中的方法,否则子类必须定义成抽象类
接口中也可以定义类成员变量,一般固定不变的值可以定义在接口里面。
接口可以实现多继承,而类只能实现单继承
接口中的方法默认是抽象方法
面向接口编程
用接口类型来创建子类对象,子类创建的对象是接口类型的,必须遵守接口的规则,可以减少层与层之间的耦合。