1. 类的静态成员和非静态成员有何区别?

booming 2007-02-27 11:24:59
1. 类的静态成员和非静态成员有何区别?
类的静态成员每个类只有一个,非静态成员每个对象一个
...全文
1093 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengqingyang9527 2011-06-17
  • 打赏
  • 举报
回复
学习,很好!
lidongri 2007-02-28
  • 打赏
  • 举报
回复
类的静态成员每个类只有一个,非静态成员每个对象一个
------------
正解
systemthink 2007-02-28
  • 打赏
  • 举报
回复
若将类中的某个成员声明为static 该成员称为静态成员类中的成员要么是静态
要么是非静态的一般说来静态成员是属于类所有的非静态成员则属于类的实例
对象
以下示例代码演示了如何声明静态和非静态成员
程序清单10-5
using System;
class Test
{
int x;
static int y;
void F() {
x = 1; // 正确,等价于this.x = 1
y = 1; // 正确,等价于Test.y = 1
}
static void G() {
x = 1; // 错误不能访问 this.x
y = 1; // 正确,等价于Test.y = 1
}
static void Main() {
Test t = new Test();
t.x = 1; // 正确
t.y = 1; // 错误不能在类的实例中访问静态成员
Test.x = 1; // 错误不能按类访问非静态成员
Test.y = 1; // 正确
}
}
类的非静态成员属于类的实例所有每创建一个类的实例都在内存中为非静态
成员开辟了一块区域而类的静态成员属于类所有为这个类的所有实例所共享无
论这个类创建了多少个副本一个静态成员在内存中只占有一块区域。
fiveyes 2007-02-28
  • 打赏
  • 举报
回复
。。。。。。
xvbn_2003 2007-02-28
  • 打赏
  • 举报
回复
学习

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧