感谢你的阅读:1.在下面的例子里
using System;
class A
{
public A()
{
PrintFields();
}
public virtual void PrintFields(){}
}
class B:A
{
int x=1;
int y;
public B()
{
y=-1;
}
public override void PrintFields()
{
Console.WriteLine("x={0},y={1}",x,y);
}
当使用new B()创建B的实例时,产生什么输出?
答:X=1,Y=0;x= 1 y = -1怎么会产生两个输出的???期待你的解答:
using System;
class A
{
public A()
{
PrintFields();
}
public virtual void PrintFields(){}
}
class B:A
{
int x=1;
int y;
public B()
{
y=-1;
}
public override void PrintFields()
{
Console.WriteLine("x={0},y={1}",x,y);
}
当使用new B()创建B的实例时,产生什么输出?
答:X=1,Y=0;x= 1 y = -1怎么会产生两个输出的???期待你的解答:
X=1,Y=0不要问为什么
想知道就去VS写入这段代码
用TEXTBOX来显示输出
单步调试
你将得到完美的答案
然后再在B的构造函数里对Y赋值,再输入x= 1 y = -1
{
PrintFields();
}
public virtual void PrintFields(){}