c#中public\protect\private\internal修饰符的区别

public 关键字是类型和类型成员的访问修饰符。公共访问是允许的最高访问级别,对访问公共成员没有限制。
protected 关键字是一个成员访问修饰符。受保护成员在它的类中可访问并且可由派生类访问。
private 关键字是一个成员访问修饰符。私有访问是允许的最低访问级别。私有成员只有在声明它们的类和结构体中才是可访问的。
internal 关键字是类型和类型成员的访问修饰符。只有在同一程序集的文件中,内部类型或成员才是可访问的。

public 意味着在其后声明的所有成员对所有的人都可以取。 
private 关键字意味着除了该类型的创建者和类的内部成员函数之外,任何人都不能存取这些成员。 
protect 它与private基本相似,只有一点不同:继承的结构可以访问protected成员,但不能访问private成员。

=============================================

public就象是对所有其他的程序,以及子程序,以及包以外的程序都可见
private正好相反,对谁都不可见,除了自己
protect是对同一个包内,以及子程序可见
自己就是当前程序啊
你privat的变量和方法在哪个程序,这个程序就是自己

=============================================

public人缘好,跟谁都好, 
protect只和熟人好, 
private比较自闭. 
不过他们是三胞胎. 
class是他们的爹.

 

 

public 修饰的类,可以在整个系统的任意地方调用,是完全公开的.

private 相反的,只能在类内部调用.任何实例,无法调用private调用.

internal 仅为同项目(这里的项目是只单独的项目,而不是整个解决方案)调用,按照我的理解,应该是和java的friendly一样的效果.

protected   自己及自己的子类可以调用

posted @ 2014-11-28 09:13  流浪的小泽  阅读(4537)  评论(0编辑  收藏  举报