抽象类(java)
抽象类:类的抽象,是对相似类的归纳与总结
抽象类中可以定义成员变量,具体方法,抽象方法(由abstract修饰,无方法体和大括号的方法),其中抽象方法由其派生的子类实现,多个抽象类可以派生多个子类,体现了程序的多态。
抽象类具体定义形式:
abstract class 类名称 {
成员变量定义;
方法(){...} //定义具体方法
abstract 方法(); //定义抽象方法
}
说明:
1:抽象类表示一个抽象概念,是不能被实例化的。
2:抽象方法只能出现在抽象方法中,非抽象类是不能包含抽象方法的。
接口
java中的类最多只能继承一个父类,java用接口解决了这一问题,java中的类可以继承一个父类的同时还可以继承多个接口。
说明:
1:声明接口可给出访问控制符,用public修饰的是公共接口
2;接口具有继承性,一个接口还可以继承多个父接口,父接口间用逗号隔开。
3:接口中所有属性的修饰默认是public static abstract
4:接口中所有方法的修饰默认是public abstract
5:类有严格的层次结构,而接口不是类层次的一部分,没有联系的类可以实现相同的接口
6:当一个类实现接口中的抽象方法时,这个方法中的名字和参数类型、数量和顺序必须与接口中的方法相匹配
接口具体定义形式;
[public] interface 接口名 [extends 父接口列表] {
[public] [static] [final] 域类型 域名=常量值;
[public] [abstract] 返回值类型 方法名(参数列表) [throw 异常列表];
}