new有几种用法的详细解释.

来源:百度知道 编辑:UC知道 时间:2024/06/08 09:58:45
5、new有几种用法
答:第一种:new Class();
第二种:覆盖方法
public new XXXX(){}
第三种:new 约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数。

大师们,这几种说的那么笼统,能不能详细的再用例子解释一下呢
直接不=new
用的时候 new 类.方法也算第一种吧.

你看看new的一些相关知识,具体的例子吗,你再研究下了

在 C# 中,new 关键字可用作运算符、修饰符或约束。

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

new 修饰符
用于向基类成员隐藏继承成员。

new 约束
用于在泛型声明中约束可能用作类型参数的参数的类型。

new 修饰符(C# 参考)

在用作修饰符时,new 关键字可以显式隐藏从基类继承的成员。隐藏继承的成员意味着该成员的派生版本将替换基类版本。在不使用 new 修饰符的情况下隐藏成员是允许的,但会生成警告。使用 new 显式隐藏成员会取消此警告,并记录代之以派生版本这一事实。

若要隐藏继承的成员,请使用相同名称在派生类中声明该成员,并使用 new 修饰符修饰该成员

new 运算符(C# 参考)

用于创建对象和调用构造函数。例如:
Class1 o = new Class1();

new 约束(C# 参考)

new 约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数。当泛型类创建类型的新实例时,将此约束应用于类型参数,如下面的示例所示:

class ItemFactory<T> where T : new()
{
public T GetNewItem()
{
return new T();
}
}

///这个实例化对象
Class class = new Class();
///这是重写父类的方法,貌似是抽象类,多态用的
public new XXXX(){} 第三种,就不知道了,

第一种定义类对象时:Class myClass=new Class();这样myClass对象就能在托管堆中开辟了一个空间,保存类数据

第二种 用在继承中间
子类跟基类相同函数名的时候,并且基类的这个函数不是