C#基础:new那点破事
new关键字的作用:
- 运算符
- 修饰符
- 约束
运算符:创建对象和调用构造函数,这个相信大家都会用,很多人没事就喜欢new一下 ∩_∩
ClassDemo demo=new ClassDemo()
修饰符:隐藏基类中的成员(是基类中的成员,所以字段、属性、事件等等都可以隐藏,不单单是方法哦)
public class Car { public void WriteName(string name) { Console.WriteLine(name); } } public class NewCar:Car { public void WriteName(string name) { Console.WriteLine("车名":+name); } }
这段代码中有一个错误:
为了能使子类使用WriteName这个方法,就得用new关键字来隐藏父类中的方法,也可以说是我们新建了一个WriteName方法,这种用法一般在写第三方插件的时候用得较多
public class NewCar:Car { //用new隐藏基类中的方法 public new void WriteName(string name) { Console.WriteLine("车名":+name); } }
当然,如果想使用父类中的成员只需显示转换就行
约束:new约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数。 要注意的是如果要使用 new 约束,则该类型不能为抽象类型;
当泛型类中有多个约束时,new约束必须写在最后
public class Cars<T> where T : IComparable, new(){ }
new的基本用法就这么多,当然还有一些别的小知识点,例如创建匿名类等等