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(); //就想问这句,new B()和new A()有什么区别么?因为我试了一下,得出的结果是相同的....
Console.WriteLine(x.a);
x.m(); B y = new B();
Console.WriteLine(y.a);
y.m();
}
}问题在上面的代码中...谢谢了~
{
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(); //就想问这句,new B()和new A()有什么区别么?因为我试了一下,得出的结果是相同的....
Console.WriteLine(x.a);
x.m(); B y = new B();
Console.WriteLine(y.a);
y.m();
}
}问题在上面的代码中...谢谢了~
改成public virtual void m()
然后在B里面public override void m()
试试会有什么不同