c#4.0中,说:静态方法只可以访问静态成员变量,不可以直接访问实例变量。但这个能运行,怎么解释?

usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSy... using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System;
namespace Page04
{
class D
{
public int Mem1;
static public int Mem2=5;
}
class Program
{
static void Main()//说:静态方法只可以访问静态成员变量,不可以直接访问实例变量。但这个能运行,怎么解释?
{
D d1 = new D();
d1.Mem1 = 10;
//D d2 = new D();
D.Mem2 = 28;
Console.WriteLine("d1 = {0}, d2 = {1}", d1.Mem1, D.Mem2);
Console.ReadLine();
}
}
}
展开
 我来答
爱新觉罗20000
2013-06-20
知道答主
回答量:30
采纳率:0%
帮助的人:19万
展开全部
D.Mem2 = 28; 中D并未实例,你访问的只是D的静态属性Mem2
静态属性的初始化时机,优先于构造函数。是以,访问静态属性,方法,是无需实例化该类的
Storm代理
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I... 点击进入详情页
本回答由Storm代理提供
重典技术闲话
2013-06-20 · TA获得超过2173个赞
知道大有可为答主
回答量:2593
采纳率:0%
帮助的人:1157万
展开全部

原文的上下文指的是同一类中,而不是访问在方法中实例化的对象的成员

class X{
    int z;
    static int w;
    static void Y(){
        //这里不能访问z,因为Y是静态方法
        //但是可以访问w
    }
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式