C#中的抽象类为什么不能用static修饰其成员?

如题所述

是正常的。
static表示的意思就是静态。其实如果程序内含有静态成员时,类默认就是静态的。也就是说,如果含有静态成员的类,其实前边加不加static是一样的效果的!
对于你补充的问题,其实不应该这么说的,应该说那些不能被静态修饰符修饰才对。因为除了他不能修饰的,其余的都能修饰。
不能修饰超类(抽象类),超类与抽象类是不同领域的相同术语,一般在java中称超类,在c#等微软语言中称抽象类。超类指的是含有抽象方法的类,因此该类只能被继承,不成具体化实体化。而抽象类指的是不能被实例化的类,只能用于继承,含有抽象方法——你晕不晕?其实他们是一个概念两个不同范畴中的术语。与之相同的还有接口,也没有实体,所以,不能修饰抽象类(超类)与接口。换句话说不能与abstrat联用,不能放置在interface之前。
静态方法不般不用于重写——已经是静态了,还重写什么劲,所以不与override联用,不用与virtual虚方法联用。其他的都可以使用。
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网