private是完全私有的,只有在類自己里面可以調用,在類的外部和子類都不能調用,子類也不能繼承父類的private的屬性和方法。
protected雖然可以被外界看到,但外界卻不能調用,只有自己及自己的子類可以調用(protected的屬性和方法都可以被子類所繼承和調用)。
private和protected的共同點:外部都不可以訪問。
private和protected的不同點:在同一類中可視為一樣,但在繼承中就不同了,private在派生類中不可以被訪問,而protected可以。
public對任何類和成員都完全公開,無限制訪問。
internal同一應用程序集內部(在VS.NET中的一個項目中,這里的項目是指單獨的項目,而不是整個解決方案)可以訪問。
public和internal的區別:public的成員可以跨程序集,但internal不能,同一程序集中具有相同的效果。
protected internal:只能在同一應用程序集內本類、派生類訪問。
private < protected < internal < public
當前類 < 子類 < 程序集 < 全部