C#中接口的的一个问题,书上这么写是什么意思?

这是书上写的,一个接口中的ShowInfo()方法。凡是它在后面加了一个分号,也就是这个方法只有声明。但是下面为何又有了方法体,那这个方法体算谁的?我在vs中实践了一下,... 这是书上写的,一个接口中的ShowInfo()方法。凡是它在后面加了一个分号,也就是这个方法只有声明。但是下面为何又有了方法体,那这个方法体算谁的?
我在vs中实践了一下,发现这么写貌似会报错。
为什么?求解,是书上写错了吗?

顺便求解,C#的接口和java的接口有啥异同吗?java中的接口可以有public static final 常量和public abstract方法,绝对不能有方法体。C#接口中的常量如何表示,貌似字段都不能赋值,我加个static或者const修饰也不行,提示“接口不能包含字段”;C#接口中的方法和java的一样也是绝对不能有方法体吧?而且貌似C#接口中的成员前面都不能加访问修饰符?
展开
 我来答
whm412
2013-07-17 · TA获得超过515个赞
知道小有建树答主
回答量:289
采纳率:66%
帮助的人:282万
展开全部
其他都同意楼上的,但
不能加访问修饰符,这个是正确的。
在C#当中接口当中的成员不允许加修饰符,默认都是public

另C#接口当中只允许定义:属性、方法、事件、索引器
像你说的常量、变量之类的都不能定义在里面,也就不存在赋值的问题。(根本原因是接口不能实例化)
追问
那C#中的接口不能定义常亮啦?(用过java中的 有点不适应)。此外,问一下图中的一个方法声明后面加了一个分号,又跟了一对大括号,这么写是不是不大对?
追答
那C#中的接口不能定义常亮啦?
回答:是的

问一下图中的一个方法声明后面加了一个分号,又跟了一对大括号,这么写是不是不大对?
不对,不应该有后面的一对大括号。
正确方法声明:
void ShowInfo();

建议:找本好点的书,别看这本了。容易误导你。
别问我哪本,去网上搜搜吧。
leiyangbdwk
2013-07-18 · TA获得超过3295个赞
知道大有可为答主
回答量:4975
采纳率:12%
帮助的人:4396万
展开全部
  • 求解,是书上写错了吗

    我认为是

  • 接口不能包含字段

  • 绝对不能有方法体吧

  • 不能加访问修饰符

    可以的呀!

  • ----------补充,你后面又来一个问题,一个分号,又跟了一对大括号,这么写是不是不大对
    我觉得是印刷错误。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式