部分内容为学习过程中从网上搜集保存备份,以防源网站关闭后无法检索。如有涉及版权请留言,看到后处理

C#继承

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);
    }
}
B b = new B();
输出结果为:x=1,y=0

当实例化B对象时,会先自动调用A类的无参构造函数,即会输出PrintFields()方法,即x=1,y=0(因为全局变量默认为0),然后再调用B的无参构函,而B()就只是为y赋值为-1,并没有做任何的输出
如果 B b=new B();b.PrintFields();那么输出结果就是x=1,y=-1


posted @ 2015-10-29 09:47  Y档案Y  阅读(151)  评论(0编辑  收藏  举报