首页 > 代码库 > 如何理解 “私有成员只有在声明它们的类和结构体中才是可访问的” ?

如何理解 “私有成员只有在声明它们的类和结构体中才是可访问的” ?

  通常私有成员(private)只有在声明它们的类和结构体中才是可访问的,如下类:

1 class A2 {3   private int i;4 }

  只有在A的内部在能访问i,这是众所周知的。

  再看下面的类:

 1 class B 2 {  3   private int i;  4    void DoSomeThing()  5   { 6     B b = new B(); 7     int c = b.i; //这里在b的外部也能访问其私有成员i 8   }  9 }

  不要惊讶,查查MSDN,http://msdn.microsoft.com/zh-cn/library/st6sy9xe.aspx ,其中就有 同一体中的嵌套类型也可以访问那些私有成员。

 

如何理解 “私有成员只有在声明它们的类和结构体中才是可访问的” ?