c#和java接口区别,c#接口与java接口的区别

69df88323746ea4cdbcd150b4ab61bc7.png

1、接口中定义成员

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

cef098059e85686ee2c9494b13c442a0.png

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

a58c8081f9b4a1ae69359e640c065310.png

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

15e373835af967663e31da0cfba08b75.png

2、接口中定义一些方法

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

cd7ecef741f34d99acad2fc721dc2e34.png

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

17e7a938e80cf548e241c93ce550aea3.png

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

c6e7fe7c8cc697551bfb83f0bb04a730.png

总结:

1、在java中,接口可以包含字段,但这些字段隐式地是static和final的,而C#不允许接口中有字段,编译器在编译时就会提示错误;

2、在Java中,方法声明可以带有public修饰符(即使这并非必要),但在C#中,显式地为接口中的方法指定public修饰符是非法的。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值