我印象中java里面的接口使用static final修饰的常量,不是成员方法,使用static修饰的method放在接口中是无意义的,接口是用来抽象的。。。。
与Java不同,C#中的接口不能包含域(Field)。另外还要注意,在C#中,显式为接口的方法指定public修饰符是非法的。
综上,所以c#接口中不允许使用static~~因为他的接口中没有field这个概念,与java不同,而java中使用static的也正是field,而不是method!

接口不实现方法,static是静态调用,调用不实现的方法,有意义吗?
接口里的方法是通过接口映射表来调用实现的(vmt),用virtual没有意义..
接口里不实现方法,自然override重写就没意义了..
接口是全部抽象的,既然全都是抽象,就没必要用abstract标明了.

接口里的方法是通过调用拥有此接口的类来调用的(或显示地调用接口的某方法).在此类的声明中,必须有定义此接口的此方法实现.再来看下static:静态字段、静态属性可以在类的实例之间共享(也就是任何类的某对象可以直接使用静态字段,注意是对象在使用静态字段、属性)。而静态方法的使用只需此类名调用即可(不是用此类的对象去调用,即,不能声明此类的一个对象去调用静态方法,它与对象无关),另外,静态方法必须是个有具体代码的方法,不能是空方法.因为任何一个编译器在编译时都必须非常清楚地知道此方法是要如何地被执行.static是让成员在其对象上进行共享的,而abstract一定是要让其继承,让其重载,让其有另一套,故不能用static修饰接口里的成员变量.

字段、方法、属性用static声明,表示它们是类的静态成员,而不是对象实例的成员。

这样看来,因为接口本身就是abstract,一定是abstract的.故,它的所有成员都一定是abstract,不需要用abstract去显示地声明成员,若显示地声明了,也没大错,只是没有意义而已(因为大家都知道你一定就是abstract,不需要叫你名字的时候再特意重声下abstract,没意义).因为接口的所有成员一定是abstract,故接口的所有方法不能有任何实现代码(即一定要被调用它的类在定义时重载,故不用virtual修改方法,同上面不需要用abstract修改一样的道理).所以,接口的所有方法在声明时,不需要使用virtul,override关键字来修饰.

参考资料: http://blog.csdn.net/chinmusam/archive/2010/04/18/5499445.aspx

C#接口中为什么不能像java那样使用static?相关推荐

  1. Java接口中的成员变量为什么必须是static ?

    接口的含义 接口就是提供一种统一的协议, 而接口中的属性也属于协议中的成员.它们是公共的,静态的,最终的常量.相当于全局常量. 在interface里面的变量都是public static final ...

  2. java 接口中 常量_在Java接口中怎样访问定义的常量呢?

    java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能).那么我们在Java接口中怎 ...

  3. java 接口中变量修饰符,Java的访问修饰符与变量的作用域讲解

    Java访问修饰符(访问控制符) Java 通过修饰符来控制类.属性和方法的访问权限和其他功能,通常放在语句的最前端.例如: ? Java 的修饰符很多,分为访问修饰符和非访问修饰符.本节仅介绍访问修 ...

  4. java修饰方法_java接口中方法、属性修饰符详解

    java接口的修饰符:abstract(inteeface本身就是抽象的,加不加abstract都一样). 接口中字段的修饰符:public static final(默认不写) 如下解释: publ ...

  5. JAVA中为什么要用接口定义编程_【Java公开课|为什么要用Java接口,这些内容你一定要搞清楚】- 环球网校...

    [摘要]作为一门面向对象编程语言,Java吸收了C++语言的优点,也展现了其强大的一面,我们能在各个地方看到其功能强大和简单易用的两个特征,当然,也吸引了很多程序员的注意力,所以就有人想了解Java的 ...

  6. java接口能定义非抽象方法吗_接口中只能定义常量和抽象方法,对么

    接口中只能定义常量和抽象方法,对.在Java语言中,接口是一个抽象类型,是抽象方法的集合,通常以关键字interface来声明.一个类通过继承接口的方式,从而来继承接口的抽象方法. 接口中只能定义常量 ...

  7. java 接口 属性_浅谈java接口中定义属性

    package com.supan.reflact; public interface PersonObject { /** * 在接口中定义属性的知识点: * 1,属性默认的修饰词是:public ...

  8. 没有体现JAVA接口功能_深入浅出分析Java抽象类和接口【功能,定义,用法,区别】...

    本文实例讲述了Java抽象类和接口.分享给大家供大家参考,具体如下: 对于OOP编程来说,抽象是它一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:抽象类和接口. 这两者有相似之处也有很 ...

  9. 接口中定义的成员变量是( )。_抽象与接口

    原文链接:抽象与接口 抽象类 抽象类的定义 Java可以创建一种类专门用来当作父类,这种类称为"抽象类".抽象类的作用有点类似"模板",其目的是要设计者依据它的 ...

最新文章

  1. C++ sizeof 操作符的用法总结
  2. 1流式细胞术荧光比值计算_流式细胞术的简介
  3. Automation Test in Maya Plugin Development
  4. Go语言中如何进行测试
  5. Delphi中点击DBGrid某一行获得其详细数据方法
  6. Linux wifi连接桌面,【已解决】Arch linux 安装之后在deepin桌面环境下使用networkmanager连接wifi 出现间歇性重连的情况...
  7. Blazor+Dapr+K8s微服务之服务调用
  8. primefaces_使用Bean验证扩展PrimeFaces CSV
  9. clipse中Access restriction: The type ‘XXX’ is not API 解决
  10. 网站站群相关工具001---WebPlus集群平台
  11. ZOJ - 2402 DP方案数
  12. 电脑内录软件哪个好,你一直都在如何录制电脑内部声音?
  13. BP反向传播算法原理及公式推导
  14. RecordCount=-1问题
  15. 关于我的一些学习感悟
  16. Ubuntu下用安装包安装MySQL
  17. 算法学习18-两个单链表相交的一系列问题
  18. 施主,贫僧乃东土大唐而来,恳请在此借宿一晚……...
  19. 【附源码】计算机毕业设计java众筹平台设计与实现
  20. 分治法实现寻找数组最大最小值

热门文章

  1. 别小看不起眼的电阻,里面大有学问!
  2. 动画 | 空调是怎么制冷的?
  3. python 修改json文件的value值,利用python修改json文件的val
  4. java 置信区间_仅从均值和标准差绘制置信区间
  5. oracle 904 maxsize,EXP-00008: 遇到 ORACLE 错误 904 ORA-01003
  6. logging 日志输出乱码 info_接口自动化测试中logging实际用法
  7. 961计算机基础综合pdf,2017-2018年北航科学与技术教育961计算机基础综合考研大纲重难点.pdf...
  8. 流量回放开源代码Java_流量回放框架 jvm-sandbox-repeater 的实践
  9. 婚礼答谢宴ppt模板_女儿结婚请柬制作 女儿结婚宴会邀请函模板免费
  10. 南京信息工程大学c语言实验十报告,南京信息工程大学2014年C语言程序设计实验内容(全部).doc...