黑马程序员技术交流社区
标题: 面试题 [打印本页]
作者: 崔增阳 时间: 2014-4-11 13:54
标题: 面试题
本帖最后由 崔增阳 于 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);
}
}
产生的输出结果是什么 请分析一下
作者: 百川 时间: 2014-4-11 15:41
运行结果是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.
不知道过程分析的对不对,单步调试没有结果,自己分析的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |