c#的访问控制符有五种:
1.public:公有的,被修饰的类成员是可以被任何外部类访问的。
2.private:私有的,被修饰的类成员只能在类内部访问或者调用。私有的类成员变量只能由类内部的方法访问,私有的类方法只能在类内部被调用,而该类的实例也无法调用私有的类方法。
3.protected:受保护的,protected修饰的类成员只能由该类的子类访问,便于实现继承。
4.internal:内部的,internal与public相似,但是internal的范围要小于public。internal修饰的类成员只能在该应用程序内被任意的外部类访问。
5.protected internal:受保护内部的,就是在同一个应用程序内部,被修饰的类成员只能由应用程序内的该类的子类进行访问,同样是为了继承的实现方便。
PS:
还有一种访问控制符,那就是不写,默认就是private的了。
c#的以及静态成员和非静态成员,静态方法和非静态方法
- 静态成员是类公有的,无论创建多少个该类的实例,其静态成员在内存都只有一个。对于该类的所有实例,类的静态成员在内存中都只占同一块存储区域。
- 非静态成员是属于类的实例的,每创建一个类的实例就会在内存中为类的非静态成员分配存储。
- 静态方法属于类所有,在类进行实例化前就可以调用;静态方法只能访问静态成员,非静态方法可以访问类的任何成员;因为类的静态方法在类实例化前就可以调用,但是非