c#中 接口成员为什么不能使用关键字static virtul override abstract
来源:互联网 发布:如何分析薪酬数据 编辑:程序博客网 时间:2024/04/27 16:41
接口不实现方法,static是静态调用,调用不实现的方法,有意义吗?
接口里的方法是通过接口映射表来调用实现的(vmt),用virtual没有意义..
接口里不实现方法,自然override重写就没意义了..
接口是全部抽象的,既然全都是抽象,就没必要用abstract标明了.
接口里的方法是通过调用拥有此接口的类来调用的(或显示地调用接口的某方法).在此类的声明中,必须有定义此接口的此方法实现.再来看下static:静态字段、静态属性可以在类的实例之间共享(也就是任何类的某对象可以直接使用静态字段,注意是对象在使用静态字段、属性)。而静态方法的使用只需此类名调用即可(不是用此类的对象去调用,即,不能声明此类的一个对象去调用静态方法,它与对象无关),另外,静态方法必须是个有具体代码的方法,不能是空方法.因为任何一个编译器在编译时都必须非常清楚地知道此方法是要如何地被执行.static是让成员在其对象上进行共享的,而abstract一定是要让其继承,让其重载,让其有另一套,故不能用static修饰接口里的成员变量.
字段、方法、属性用static声明,表示它们是类的静态成员,而不是对象实例的成员。
这样看来,因为接口本身就是abstract,一定是abstract的.故,它的所有成员都一定是abstract,不需要用abstract去显示地声明成员,若显示地声明了,也没大错,只是没有意义而已(因为大家都知道你一定就是abstract,不需要叫你名字的时候再特意重声下abstract,没意义).因为接口的所有成员一定是abstract,故接口的所有方法不能有任何实现代码(即一定要被调用它的类在定义时重载,故不用virtual修改方法,同上面不需要用abstract修改一样的道理).所以,接口的所有方法在声明时,不需要使用virtul,override关键字来修饰.
- c#中 接口成员为什么不能使用关键字static virtul override abstract
- java中为什么在static中不能使用this关键字
- c#中override virtual static abstract sealed 的作用
- c#中override virtual static abstract sealed 的作用
- C#基础巩固——成员函数(属性)的abstract、override、virtual关键字
- C#关键字abstract virtual interface new override
- C# 关键字 abstract, virtual, override, sealed, new
- c#中abstract、override、new、virtual、sealed使用和示例
- C#中Abstract 、Virtual和Override的使用
- c#中abstract、override、new、virtual、sealed使用和示例
- c#中abstract、override、new、virtual、sealed使用和示例
- C#中virtual abstract 和override的使用
- 关于abstract为什么不能和static连用
- Android开发中为什么不能标记重写(@override)抽象方法(abstract)
- Android开发中为什么不能标记重写(@override)抽象方法(abstract)
- c#中override virtual static abstract sealed 的作用及代码分析
- C#中virtual,abstract,override修饰符
- C#中的static,interface,virtual,abstract,override的用法
- 超经典网络基础
- unix特性
- 多种破解工具下载
- 关于高精度
- 数据库设计规范与技巧
- c#中 接口成员为什么不能使用关键字static virtul override abstract
- Nessus-3.0.6【linux漏洞扫描工具】
- 如何备份和还原Outlook Express 的邮件规则
- 一名优秀的程序员
- 如何更改在Ubuntu下的MySQL的默认数据库存储位置
- 利用消息队列实现两个进程之间的文件复制
- 要的就是性价比。
- C2。。= =。not the C4 Bomb
- 视频测试序列下载地址