C#基础之类的访问修饰符小析
class TestClass
{
public int a = 0;
private int b = 0;
protected int c = 0;
TestClass类中变量a是公有类型,可以在类外方位,即类实例化后可以使用a;变量b只能在类内访问,即类内部的函数可以使用b;变量c则是TestClass继承类可以使用。
先说c。c是受保护类型,其继承类C可以访问。是类B实例化对象仍然不可以访问。但是B内部可以访问c。如下面所示,类内访问类内无限制。
class TestClass
{
public int a = 0;
private int b = 0;
protected int c = 0;
pulic static int d=0;
private void os()
{
int a1 = a;
int a2 = b;
int a3 = c;
}
}
B继承之后,c就变为private。也就说B的继承类无法访问c;如下所示,D中无法访问c。
class D : B
{
private void st()
{
B bo = new B();
int dd = bo.c;//wrong访问受限制
}
}
static修饰符表明该字段或方法是类所有,不是某个具体对象的。TestClass类不同实例化时a、b、c的值不同,但d是相同的。如果说a、b、c相当于每个人在哪个省,那么d表明大家都在中国。