一、抽象类
1、abstract:可以用来修饰方法,也可以修饰类;如果修饰方法,那么该方法就是抽象方法,修饰类,该方法就是抽象类;
2、抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类;
3、抽象类:都是欠债的,不能new,它是用来让子类继承的;
4、抽象方法:只有方法的声明,没有方法的实现,它是用来让子类实现的;
5、子类继承抽象类必须实现抽象父类中,没有实现的抽象方法,否则该子类也要声明;
6、java的类单继承,没有多继承;但是接口可以多继承;
二、接口
1、普通类:只有具体实现;
2、抽象类:具体实现和规范都有!
3、接口:只有规范,自己无法写方法,用interface来声明,接口中所有的方法都是public abstract,所有的常量都是**public static final;**接口中没有构造方法,不能被实例化,必须重写;
三、函数式接口
1、只有一个方法的接口叫函数式接口