关于类的小问题

来源:百度知道 编辑:UC知道 时间:2024/09/22 23:27:03
using System;

class cParent
{
public void void1()
{
Console.WriteLine("..........");
}

public virtual void void2()
{
Console.WriteLine("..........");
}
}

class cChild : cParent
{
public new void void1()
{
Console.WriteLine("..........");
}

//new public void void1()
//{
// Console.WriteLine("..........");
//}

//sealed override public void void2()
//{
// Console.WriteLine("..........");
//}
//我的问题如下:public new 和 new public是一样的效果吗???,是不是两种写法自由选择

sealed override public void void2()
{
Console.WriteLine("..........");
}

static void Main(string[] args)
{

}

}

public new 和 new public是不一样的。

public new 中new 用作运算符,用于创建对象和调用构造函数。

new public 中new 用作修饰符,用于显式隐藏从基类继承的成员。

在你的当前类的申明情况来看结果一样的效果