接口可以除了可以包括方法外,还可以包括事件,属性,因为他们都会映射为方法!
实际上CLR(公共语言运行时)还允许接口包括静态方法,静态字段,常数,以及静态构造器,这和接口的语义并没有矛盾!
但是CLS(通用语言规范)不允许接口有静态成员,因为某些语言不能定义和访问静态成员,这就给语言之间的交互带来问题!所以C#编译器不允许接口包括静态成员!
因为java 中不能定义抽象静态方法static
interface中所有的成员方法都是abstract的,当然也就不能定义静态方法static。
静态法多的话制作成专门的类 想Math 一样
在jdk1.8中可以定义为静态,但是该接口方法必须有方法体。
javap分析方法的动态链接和静态链接