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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 崔增阳 中级黑马   /  2014-4-11 13:54  /  1224 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 崔增阳 于 2014-4-12 17:25 编辑

class A

{

public static int X;

static A(){

X=B.Y+1;

}

}

class B

{

public static int Y=A.X+1;

static B(){}

static void Main(){

Console.WriteLine("X={0},Y={1}",A.X,B.Y);

}

}

产生的输出结果是什么 请分析一下


评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

1 个回复

倒序浏览
运行结果是2,1。
1.首先执行A类构造方法。先执行等号右边的B.y。A类压栈。
2.执行B类构造方法,同时为B.y赋值。同样先执行等号右边的部分。
3.此时A.x值为0.所以B.y为1.
4.回到A类构造方法,为字段x赋值。为B.y+1.即2.
不知道过程分析的对不对,单步调试没有结果,自己分析的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马