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的基本用法就這么多,當然還有一些別的小知識點,例如創建匿名類等等
