一、abstract 关键字
1、被该关键字修饰的类,被称为抽象类,方法被称为抽象方法
2、抽象类不能被实例化
3、抽象类不一定包含抽象方法,但是有抽象方法的类,必须是抽象类
4、abstract只能修饰类和方法,不能修饰其他玩意
5、抽象类可以有任意成员【抽象类的本质还是一个类】
6、抽象方法不能有方法体
7、抽象类可以被继承,一个类继承抽象类,必须实现抽象类中的抽象方法,否则必须也声明为抽象类
8、!!!(划重点)抽象方法不能使用private,final,static修饰,因为这些关键字和重写相违背
二、接口
1、接口不能被实例化
2、接口中所有的方法是public(可以省略)方法,接口中的方法都是抽象方法(abstract可以省略)
3、抽象类实现接口可以不用实现接口中的方法
4、一个类可以同时实现多个接口
5、接口中的属性只能是 public static final 修饰的
6、接口中的属性访问形式: 接口名.属性名
7、接口不能继承其他类,但是可以继承其他接口
8、接口的修饰符只能是 public 和 默认
9、JDK 7 之前,接口里的所有方法都为抽象方法(不带方法体)
JDK 8 以后接口可以有静态方法,普通方法(可以带具体实现,用default修饰)