抽象类
抽象类存在的意义就是被子类继承。提高开发效率。
抽象类的定义:若类中含有抽象方法,则该类必须以abstract关键字声明为抽象类。
抽象方法:
abstract 返回类型 方法名();
抽象方法不带方法题,是对方法的基本说明。相当于C语言中的函数原型声明。
抽象类的特点:
- 不能靠new这个抽象类,只能靠子类去实现它
- 抽象类中可以写普通方法。
- 抽象方法必须写在抽象类中
- 若父类是抽象类,子类不想成为抽象类,则子类必须将父类中所有抽象方法重写为带方法体的普通方法。否则类必须带abstract关键字。
接口
接口的本质是契约,制定好后大家都必须遵循。
- 接口通过 interface 关键字进行定义
- 接口中方法都是默认抽象的。即可以直接利用
返回值类型 方法名();进行定义
- 类可以继承接口,以implements关键字实现,称为类“实现”接口
- 接口都需要实现类,一个接口可以有多个实现类
- 一个类可以实现多个接口
- 类实现接口必须重写里面所有的接口,否则必须定义为抽象类
- JAVA通过接口实现多重继承
- 接口只能继承接口,不能继承类
- 不能创建接口的对象,即不能实例化接口。
- 接口中一般都是方法的定义
- 接口中没有构造方法