1、抽象的概述:
(1)关键字:abstract
(2)针对一个具体的事物。
(3)Java中,如果一个类中有一个方法声明(抽象方法)抽象功能,那么这个类定义为抽象类。
2、抽象的特点:抽象类不能直接实例化!即不能创建对象
3、抽象的成员特点:
(1)成员变量:既可以是常量,也可以是变量
(2)构造方法:允许存在,用于子类访问父类的数据初始化
(3)成员方法:既可以是抽象的,也可以是非抽象的。
4、抽象类成员的方法特性:
(1)抽象方法:强制要求子类做的事情
(2)非抽象方法:子类继承的事情,提高代码的复用性
5、abstract不能和那些关键字共用:
(1)private,abstract是表明希望被覆盖的,但是private,子类看不到
(2)static,如果是static就需要创建对象,但是abstract不需要创建对象。
(3)final,final表示不能被子类覆盖,abstract表明希望被覆盖。
6、接口的概述:
接口体现的是事物的扩展功能(额外动作,后天经过学习等等)
7、接口的特点:不能实例化。
8、接口的成员特点:
成员变量:是一个常量,不能更改,并且默认的修饰符public、static、final
构造方法:接口不存在构造方法
成员方法:都是抽象方法
默认修饰符:public、abstract
9、接口和抽象的区别:
(1)抽象类是单一继承,接口是多重实现(子类只能有一个父类,而子类可以实现多个接口继承抽象类表示“从属”,实现接口表示“组合”关系)
(2)接口中全是抽象方法,抽象类中可以有抽象方法,也可以有方法体的方法
(3)接口中无构造方法,不可继承,可实现;抽象类有构造方法,不可被实例化
(4)抽象类的抽样方法不能使用private,final,static,方法不能用private,final修饰。接口的属性默认是用public,static,final修饰,接口中方法默认用public,abstract修饰