1.抽象类:当父类的一些方法不能确定时,可以用abstract关键字来修饰该方法【抽象方法】,用abstract来修饰该类【抽象类】
- 当一个子类继承的父类是抽象类的话,需要我们在子类中把抽象类中所有的抽象方法全部实现
3.抽象类的注意:
(1)抽象类不能实例化,就是不能实例创建对象
(2)抽象类不一定包含抽象方法
(3)一旦某个类包含了抽象方法,该类必须声明为abstract,抽象类
(4)抽象方法不能有主体
(5)抽象类可以没有抽象方法,但是可以有实现了的方法
4.接口:(是更加抽象的抽象类),体现了程序设计的多态和高内聚低耦合的思想
(1)接口不能实例化
(2)接口中中的所有方法都不能有主体(区别抽象类) 注:(在java8中添加default修饰后,可以有主体,被称为默认方法,可以重写,但是不能被final修饰)
(3)一个类可以实现多个接口 两个接口逗号分隔
(4)接口中可以有变量【但变量不能用private,protected修饰】
a.接口中的变量,本质上都是static的,而且是final,不管你加不加static修饰
b.在java开发汇总,我们经常把常用的变量,定义在接口中,作为全局变量使用。访问形式:接口名.变量名
(5)一个接口不能继承其他的类,但是可以继承别的接口
5.实现接口可以看作是对继承的一种补充,实现接口可在不打破继承关系的前提下,对某个类功能扩展,非常灵活
6.用接口实现多态