1.接口定义
先上官方文档https://docs.oracle.com/javase/tutorial/java/IandI/interfaceDef.html ,适用JDK8以后,JDK9又添加了新特性。
body体里{
可以定义常量属性,只能定义成public static final,可以省略。
可以定义方法,abstract methods、default methods、static methods,默认为public方法,所以可以省略public修饰词,抽象方法可以省略abstract。
}
2.类成员的访问控制修饰词
还是先上文档https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html。
四个级别,public、private、protected 、package-private(就是没有指定,省略不写访问控制修饰词),含义如下图。
所以框架代码抽象类中会有很多protected方法,在包内暴露给子类就可以了。