首页 > 代码库 > java基础-java与c#接口不同点

java基础-java与c#接口不同点

1、接口中定义成员

    C#,如图我在接口ITest添加了一个字段n,那么vs直接就显示红色的底线,而错误就是接口不能包含字段

    技术分享

  java,如下图,编译也是报错但是并不是接口中不能包含而是缺少赋值,那么我们赋值一下再看。可以看到没有问题,也就是成员变量默认是public static final,我们知道final必须是需要赋值的,所以不赋值会编译处所。

  技术分享

   经过赋值后,发现没有问题,如下图。

    技术分享

 

  2、接口中定义一些方法

    C#,我们都知道在一个接口中的方法都是需要子类去实现的,那么我们在接口中的方法是不能有实现的,如果添加了实现就会有错误。错误就是接口不能有定义。

    技术分享

    java中也就是jdk1.8添加了一些可以实现的方法。default,static中就可以有实现。如下图,编译没有问题。那么c#有默认和静态的方法吗?在接口中,很抱歉没有。

    技术分享

 

     c#中是没有的,对static,default的接口方法是不能定义的。因为无效。

    技术分享

 

总结

    简单两点不同处,有如其他一起交流。

java基础-java与c#接口不同点