1、抽象类:对一组对象进行更高层次抽象时,形成现抽象的类。使用abstarct修饰的类,普通类有的实例变量、实例方法、静态变量、、等等都可以在抽象类中定义。
2、抽象类也算时一种引用数据类型。java引用数据类型包括(类、接口、枚举、数组)
3、抽象类不能实例化对象,抽象类的引用需要赋值子类对象。 抽象类没有子类,抽象类可以赋值匿名内部类对象。
4、当一个类的操作无法具体实现时,这个操作可以定义为抽象方法,使用abstract修饰,只有声明,没有方法体。抽象类不一定有抽象方法。
5、含有抽象方法的类必须为抽象类。子类继承了抽象类,需要重写抽象方法。如果子类没有对抽象方法进行重写,那么子类也要定义为抽象类。
6、接口:接口就是功能的封装,用来扩展类的功能,接口也可以理解为一组操作规范或者是一个协议。
7、定义接口:【修饰符】 interface 接口名 {功能,用方法表示,接口中的方法默认为public abstract修饰} 如何使用接口 class 类 implements 接口{重写接口中的抽象方法 }
8、实现类实现接口,重写其抽象方法。接口不能实例化对象,可以定义变量。接口引用需要赋值实现类对象,通过接口引用,调用接口的抽象方法,实际上是执行实现类对象的方法,就是i接口多态。接口的引用可以赋值匿名内部类对象。
9、接口中还可以定义public static方法、public default方法、public static final常量;接口中静态方法可以用接口名调用。
10、一个类可以同时实现多个接口,要实现重写所有接口的抽象方法。接口支持继承,支持多继承。
原文:https://www.cnblogs.com/Zsy-1997/p/10614499.html