实例方法能访问静态变量?

qlz37238 2010-12-24 09:10:55

using System;
class App
{
static int i;
private static void Main()
{
App t = new App();
t.test();
Console.ReadKey();
}

private void test()
{
i = 10;
Console.WriteLine(i);
}
}


在上面的代码变量i是静态变量。test是实例方法。在这个实例方法里面为什么能访问静态变量?
...全文
788 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangsong145 2010-12-25
  • 打赏
  • 举报
回复
在同一个类里可以啊
hinada99 2010-12-25
  • 打赏
  • 举报
回复
public static 声明的方法或者变量 是类级的,只要一个类的实例没有被释放,那么任何其他类都可以通过
类.方法名(或变量名)直接引用
XJICEWOOD 2010-12-25
  • 打赏
  • 举报
回复
可以的
hewengao401 2010-12-25
  • 打赏
  • 举报
回复
可以的
HolyPlace 2010-12-25
  • 打赏
  • 举报
回复
你的i是公共的静态变量,本类的方法当然可以调用
闲着吃菜 2010-12-25
  • 打赏
  • 举报
回复
为什么不能访问啊楼主?
你都是在同一个类里面 你这个实例变量的修饰方式在怎么样都能访问。 建议楼主看下类的成员变量。
基础知识啊
超级大笨狼 2010-12-25
  • 打赏
  • 举报
回复
反过来不能
zj514394212 2010-12-25
  • 打赏
  • 举报
回复
不会吧,静态变量和对象就是让其他访问的啊,不然设为私有成员就好
qlz37238 2010-12-25
  • 打赏
  • 举报
回复
恩。明白了。谢谢大家。我知道是基础问题。只是我的书上面说的。静态变量只能被类访问不能被实例方法访问。。
bourbon1795 2010-12-24
  • 打赏
  • 举报
回复
你记错了吧,是静态方法不能访问实例字段。
静态字段是大家都可以访问的
康派尔 2010-12-24
  • 打赏
  • 举报
回复
实例方法访问静态变量那是自然的,但是静态方法就不能访问实例变量,你的Main方法中之所以可以访问到test方法是因为你的 App t = new App();这句话已经实例化了以个对象,及你的实例成员变量已经在内存中存在了,这时静态方法当然也就能够访问了!
lovelan1748 2010-12-24
  • 打赏
  • 举报
回复
必须能,不能就扯了
xlong224 2010-12-24
  • 打赏
  • 举报
回复
为什么不呢
基础问题
如果是public的静态成员,任何程序都能调用
本类的实例可以调用任何本类的静态成员,无论是public、protected、internal和private的。
静态成员在整个程序进程中只保留一份,其生存期是全局的。
ds252743641 2010-12-24
  • 打赏
  • 举报
回复
因为都在一个类里面
你把static去掉后,一样可以调用
  • 打赏
  • 举报
回复
因为是在本类吧
你试试在别的类实例化它,看看能不能调用!
wuyq11 2010-12-24
  • 打赏
  • 举报
回复
如果是public的静态成员,任何程序都能调用
本类的实例可以调用任何本类的静态成员,无论是public、protected、internal和private的。
静态成员在整个程序进程中只保留一份,其生存期是全局的。
  • 打赏
  • 举报
回复
为什么不呢?

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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