静态类无法实现接口

Posted Raywind Studio

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了静态类无法实现接口相关的知识,希望对你有一定的参考价值。

接口可以除了可以包括方法外,还可以包括事件,属性,因为他们都会映射为方法!


实际上CLR(公共语言运行时)还允许接口包括静态方法,静态字段,常数,以及静态构造器,这和接口的语义并没有矛盾!


但是CLS(通用语言规范)不允许接口有静态成员,因为某些语言不能定义和访问静态成员,这就给语言之间的交互带来问题!

 

所以C#编译器不允许接口包括静态成员! 也就是说,其实静态类实现接口并不矛盾,

 

只是为了实现.NET平台跨语言的能力,所以禁止静态类实现接口

以上是关于静态类无法实现接口的主要内容,如果未能解决你的问题,请参考以下文章

接口与抽象类的异同

接口和抽象类

静态与非静态的异同

有没有办法确保实现接口的类实现静态方法?

Java静态方法获取所属类的信息

静态代理和动态代理