当前位置: 首页 > 编程笔记 >

C#中实现抽象类里建立静态方法

关志
2023-03-14
本文向大家介绍C#中实现抽象类里建立静态方法,包括了C#中实现抽象类里建立静态方法的使用技巧和注意事项,需要的朋友参考一下

本文简述了C#中实现抽象类里建立静态方法的解决办法,示例程序如下:

public class TestMain { 
  public static void main(String[] args) 
  { 
    AbstractTest.out(); 
  } 
}

如上面所示的程序是可以运行的。

一般情况下抽象类中可以包含抽象方法和非抽象方法,静态类中只能包含静态成员,所有的静态成员也只能包含在静态类中。

因为静态static的本质是包含abstract和sealed的,所以静态方法可以包含在抽象类中,并通过抽象类名.静态方法  来使用该方法。又因为静态包含sealed特性,所以不可以被继承

其实这样就可以避免因为抽象类不能实例化而必须在其子类中实例化对象来使用父类中的方法,可以直接将方法写成静态方法,就可以不使用抽象类的子类来实现方法。

 类似资料:
  • 问题内容: 我了解由于歧义性问题,抽象类或接口都不能包含既抽象又静态的方法,但是有解决方法吗? 我想要一个抽象类或一个接口,该接口要求在扩展/实现该类/接口的所有类中都包含静态方法。有没有办法在Java中做到这一点?如果没有,这可能是我使用Java的最后一根稻草… 编辑1:此问题的上下文是我有一堆类,现在称它们为Stick,Ball和Toy,它们在数据库中有一堆条目。我想创建一个称为Fetchab

  • 问题内容: 如何在C ++中创建一个抽象类,该抽象类具有一些我想在子类中重写的抽象方法?该文件应如何显示?是否有一个,如果是的话,应该看起来如何? 在Java中,它看起来像这样: 对于我来说,将此代码转换为C ++就足够了。 编辑: 我创建了代码,但是当我尝试遍历对象时,出现以下错误: 使用此代码: 问题答案: 在Java中,除非您声明了所有方法,否则默认情况下所有方法都是默认方法。在C ++中,

  • 问题是: 我有一个叫做Schema的基类,它是抽象的,它是一个未生成的类。我有两个从Schema继承生成的JAXB类:FixedWidthSchema和DelimitedSchema。 我使用外部绑定(xjb)文件来指定XSD和Java类之间的映射。 在基类模式中,我定义了几个方法: 公共架构静态创建(Model m),它从提供的模型创建架构。 公共抽象Writer marshal(),它将当前架

  • 问题内容: 我有六个类,它们都扩展了相同的抽象类。抽象类具有一个静态变量,该静态变量指向一些JNI代码,我只希望在每个类实例化时加载一次。 据我了解,这将导致实例化此静态变量的一个实例,但是我想要的是每个扩展类都具有自己的变量静态实例,该实例对于给定的子类是唯一的。我想在我的抽象类中编写一些代码来修改和/或释放该抽象类。是否可以同时执行这两项操作? 例如,我可以编写一个抽象类栏,其中包含变量foo

  • 我有抽象类动物,然后我有像狗和猫这样的类,并且扩展了类动物。 我想确保父类动物的所有子类都有一个静态方法:getProperties。即使其他人无权访问我的代码,也可以实现一个新的动物子类。 我希望它是静态的,因为Dog类的所有Animals都具有完全相同的属性(或者您不需要Dog来了解Dog的一般外观),因此它是在classtype上调用的方法,而不是类实例。 这可能吗?

  • 问题内容: 在Java中,可以扩展带有匿名类的接口,该类可以动态实现。例: (更多信息:http : //www.techartifact.com/blogs/2009/08/anonymous-classes-in-java.html#ixzz1k07mVIeO) 这在C#中可能吗?如果不是,那么有什么可行的替代方法而不必依赖于实现过多的子类? 问题答案: 不,您不能在C#中做到这一点-但通常,