抽象类
定义:使用abstaract关键字修饰
是对问题领域进行分析后得出的抽象概念· 是对一批看上去不同但是本质上相同的具体概念抽象。
abstract必须被其子类重写才有意义
abstract关键字放在class前面,表名是抽象类。
一个抽象类可包含多个抽象方法
不能用来修饰成员变量和构造方法
没有抽象变量和抽象方法
接口
接口名第一个字母大写
一个类只能继承一个父类,这一缺陷通过接口弥补。
接口是一种特殊的抽象类,它不能包含普通方法,其内部的所有方法都是抽象方法,它将抽象进行得更为彻底,
java允许一个类实现多个接口,使程序更加灵活,易拓展,
与定义类不同的是,在定义接口时,不在使用class关键字,而是使用interface关键字来声明,
接口定义的语法格式:
[修饰符]interface 接口名[extends父接口1.父接口2…]{
[public] [static] [final] 常量类型 常量名=常量值;
[public] [abstract] 方法返回值类型 方法名([参数列表]);
[public]default方法返回类型 方法名 ([参数列表]){
//
}
[public]static方法返回类型 方法名 ([参数列表]){
//}
}
implements关键字用于实现接口
一个类可以实现多个接口,接口之间用逗号隔开
不能对接口实例化,但可以使用接口声明引用类型的变量,该变量可以引用到接口的实现类的实例对象上。