C#中接口的的一个问题,书上这么写是什么意思?
这是书上写的,一个接口中的ShowInfo()方法。凡是它在后面加了一个分号,也就是这个方法只有声明。但是下面为何又有了方法体,那这个方法体算谁的?我在vs中实践了一下,...
这是书上写的,一个接口中的ShowInfo()方法。凡是它在后面加了一个分号,也就是这个方法只有声明。但是下面为何又有了方法体,那这个方法体算谁的?
我在vs中实践了一下,发现这么写貌似会报错。
为什么?求解,是书上写错了吗?
顺便求解,C#的接口和java的接口有啥异同吗?java中的接口可以有public static final 常量和public abstract方法,绝对不能有方法体。C#接口中的常量如何表示,貌似字段都不能赋值,我加个static或者const修饰也不行,提示“接口不能包含字段”;C#接口中的方法和java的一样也是绝对不能有方法体吧?而且貌似C#接口中的成员前面都不能加访问修饰符? 展开
我在vs中实践了一下,发现这么写貌似会报错。
为什么?求解,是书上写错了吗?
顺便求解,C#的接口和java的接口有啥异同吗?java中的接口可以有public static final 常量和public abstract方法,绝对不能有方法体。C#接口中的常量如何表示,貌似字段都不能赋值,我加个static或者const修饰也不行,提示“接口不能包含字段”;C#接口中的方法和java的一样也是绝对不能有方法体吧?而且貌似C#接口中的成员前面都不能加访问修饰符? 展开
2个回答
展开全部
其他都同意楼上的,但
不能加访问修饰符,这个是正确的。
在C#当中接口当中的成员不允许加修饰符,默认都是public
另C#接口当中只允许定义:属性、方法、事件、索引器
像你说的常量、变量之类的都不能定义在里面,也就不存在赋值的问题。(根本原因是接口不能实例化)
不能加访问修饰符,这个是正确的。
在C#当中接口当中的成员不允许加修饰符,默认都是public
另C#接口当中只允许定义:属性、方法、事件、索引器
像你说的常量、变量之类的都不能定义在里面,也就不存在赋值的问题。(根本原因是接口不能实例化)
追问
那C#中的接口不能定义常亮啦?(用过java中的 有点不适应)。此外,问一下图中的一个方法声明后面加了一个分号,又跟了一对大括号,这么写是不是不大对?
追答
那C#中的接口不能定义常亮啦?
回答:是的
问一下图中的一个方法声明后面加了一个分号,又跟了一对大括号,这么写是不是不大对?
不对,不应该有后面的一对大括号。
正确方法声明:
void ShowInfo();
建议:找本好点的书,别看这本了。容易误导你。
别问我哪本,去网上搜搜吧。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询