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为什么会这样子输出呢???
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为什么会这样子输出呢???
解决方案 »
- c# ora-01453 错误
- C# WinFrom Random类产生随机数的问题
- JS 小问题
- if(bool 函数)
- 求VS2005用TableAdapter怎样增,删,改 DataGridView里面选中的信息?
- 来个高手,关于引用类型和COM组件的接口实例
- AsyncDelete和EndInvoke的疑惑
- 关于两个listbox之间数值传递问题
- 一个区取分问题:如何取得select后的记录的数据呢?myReader["id_index"].ToString()错误,用什么方法取得呢?
- CS文件中DropDownList控件赋值问题
- .NET winservice 安装的问题
- webbrowser + 意外地调用了方法或属性访问
因为A构造的时候调用的还是B的pringfields.
正确的输出就是x=1,y=0.