德国porson品牌如何:一个关于C#的程序

来源:百度文库 编辑:高校问答 时间:2024/05/05 19:12:05
using System
class A
{ public int a=10;
public void m()
{
a++;console.WriteLine(a);
}
}
class B:A
{ new public int a=20;
new public void m()
{
a++;Console.WriteLine(a);
}
static void Main()
{
A x=new B();
Console.WriteLine(x.a); // 显示10
x.m(); //显示11

B y=new B();
Console.WritwLine(y.a); //显示20
y.m(); //显示21
}
}

里面的A.x=newB()是什么意思啊?为什么第一个显示的是10呢?同样的道理,怎么后面又显示的是20呢?
谢谢了~~

A.x=newB()是声明一个a的实例,因此调用的是a类里的东西,因为x的类型是A的一个对象!