接口和抽象类提供了一种将接口与实现分离的更加结构化的方法
接口和抽象类的区别:
接口是对行为的抽象,他是抽象方法的集合
接口不能被实例化,所有成员默认被public static final所修饰
接口中所有方法要么是抽象方法,要么是静态方法
抽象类和接口一样不能被实例化
抽象类中可以有一个或多个抽象方法,也可以不含有抽象方法
抽象类是对共有方法实现或着共有成员变量的抽取,主要通过继承的方式用于代码重用
注意:java8开始 支持 default method
java9开始 支持 private default method
也就是说,在java8中接口中了default方法和static方法都可以有方法体的
抽象类Class