抽象类:
抽象类 | 普通类 |
至少含有一个抽象方法 | 不含有抽象方法 |
含有构造方法(不能被实例化) | 含有构造方法(可以被实例化) |
抽象方法不能为static、普通方法可以有 | 方法是属于类的 |
修饰符:public、protect、default | public、protect、deafult、private |
接口:
1、只能声明方法,不能有任何方法体
2、方法修饰符默认为public abstract
3、没有构造方法
4、可以被多个类实现、一个类也可以实现多个接口
5、是一种集合:方法的集合
6、接口中的常量必须定义为public static finall
接口和抽象类的比较:
接口 | 抽象类 |
抽象程度:接口>抽象类 | |
只能含有方法的声明(默认修饰:public abstract) | 可以含有普通方法、也可含有抽象方法 |
一个类可以实现多个接口,并重写其方法 | 继承后必须重写所有的抽象方法 |
没有构造方法 | 含有构造方法 |
不能有静态的方法 | 可以含有静态的方法 |
方法只能用public abstract修饰 | 方法不能用private static修饰,属于类,不能实例化,所以不能是static,需要被实现,所以不饿能使用private |