A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

静态成员能不能被标记为virtual、override 或 abstract?

评分

参与人数 1技术分 +1 收起 理由
赵宗荣 + 1

查看全部评分

3 个回复

正序浏览
着几个关键是为了实现多态,静态和多态本就是矛盾的,关键是看你为什么使用静态成员,从目的性出发,
回复 使用道具 举报
1. 用在类里的属性、方法前面,这样的静态属性与方法不需要创建实例就能访问,  通过类名或对象名都能访问它,静态属性、方法只有“一份”:即如果一个类新建有N个  对象,这N 个对象只有同一个静态属性与方法;所以virtual,abstract不能。2.  方法内部的静态变量:   方法内部的静态变量,执行完静态变量值不消失,再次执行此对象的方法时,值仍存在,   它不是在栈中分配的,是在静态区分析的, 这是与局部变量最大的区别;

评分

参与人数 1技术分 +1 收起 理由
赵宗荣 + 1

查看全部评分

回复 使用道具 举报
错误        2        静态成员“ConsoleApplication5.Person.Do()”不能标记为 override、virtual 或 abstract        e:\vs 2010\VS项目\ConsoleApplication5\ConsoleApplication5\Program.cs        17        29        ConsoleApplication5

评分

参与人数 1技术分 +1 收起 理由
赵宗荣 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马