new 修飾符與 new 操作符是兩個概念
new 修飾符用於宣告類或類的成員,表示隱藏了基類中同名的成員。而new 操作符用於例項化乙個型別
new 修飾符只能用於繼承類,一般用於彌補基類設計的不足
new 修飾符和 override 修飾符不可同時用在乙個成員上,因為這兩個修飾符在含義上互相排斥
publicabstract
class
a
public
virtual
void
fun()
}public
class
b : a
public
newvoid
fun()
public
static
void
main()
}
輸出:a b a.fun()
publicabstract
class
a
public
virtual
void
fun()
}public
class
b : a
public
override
void
fun()
public
static
void
main()
}
輸出結果:a b b.fun()
new 修飾符(msdn C 參考)
若要隱藏繼承的成員,請使用相同名稱在派生類中宣告該成員,並使用 new 修飾符對其進行修飾。例如 c public class basec public class derivedc basec 在此示例中,使用 derivedc.invoke 隱藏了 basec.invoke。字段 x 不受影響,...
正確使用 new 修飾符
幾乎 net 所有開發人員都知道 new 修飾符可以重新定義從基類中繼承的非虛成員,但是大部分開發人員並不知道怎麼才能正確使用,甚至出現了濫用的情況。零 糾正常犯錯誤 講解如何正確使用 new 修飾符前我們先來看乙個段 public class demobase public class demo ...
修飾符 許可權修飾符
四種形式許可權修飾符的訪問情況 publicprotected不寫private 同乙個類中 四種都可以 同一包中的不同類 除了private剩下都可以 不同包下的子類 public protected 可以 不同包下的不同類 只有public可以 許可權修飾符 public protected 預...