C#中new关键字的用法及理解

2024-12-27 12:49:02
推荐回答(2个)
回答1:

new public void Show()中的new是隐藏基类Show作用。

在子类Show中写一个和基类Show一样名字的非虚方法,会让基类中的函数被隐藏,编译后会提示要求使用New关键字来显示的隐藏基类的方法。

C#中new关键字的用法

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

2.new 修饰符 用于隐藏基类成员的继承成员。 

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

扩展资料

1.方法的重载

重载:指的是同一个类中有两个或多个名字相同但是参数不同的方法,(注:返回值不能区别函数是否重载),重载没有关键字。

作用:允许你以相同的名称不同的参数来调用多个方法

2.方法的重写

重写:是指子类对父类中虚函数或抽象函数的“覆盖”。

特点:

(1)重写的父类中的方法必须用 virtual、abstract 或 override 修饰,且不能重写非虚方法或静态方法。               

(2)override的方法和virtual的方法必须具有相同的访问级别修饰符。

3.方法的隐藏(New)

隐藏:在子类中写一个和基类一样名字(参数不同也算)的非虚方法,会让基类中的函数被隐藏,编译后会提示要求使用New关键字来显示的隐藏基类的方法。

参考资料

https://baike.baidu.com/item/重载

网页链接

回答2:


(1)new 运算符 用于创建对象和调用构造函数。
(2)new 修饰符 用于隐藏基类成员的继承成员。
(3)new 约束 用于在泛型声明中约束可能用作类型参数的参数的类型。

new 运算符
1.用于创建对象和调用构造函数
例:Class_Test MyClass = new Class_Test();
2.也用于为值类型调用默认的构造函数
例:int myInt = new int();
myInt 初始化为 0,它是 int 类型的默认值。该语句的效果等同于:int myInt = 0;
3.不能重载 new 运算符。
4.如果 new 运算符分配内存失败,则它将引发 OutOfMemoryException 异常。

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