1. Access modifiers of members in the class
The location modifier is the region that the member can access (use. In C #, the following modifiers are commonly used: pubic (public), private (private), internal (Inline), and protected (protected ). The Restricted Area of each modifier is illustrated.
Copy codeThe Code is as follows: class TestClass
{
Public int a = 0;
Private int B = 0;
Protected int c = 0;
Pulic static int d = 0;
}
In the TestClass class, variable a is of the Public type and can be in the out-of-class orientation, that is, Class a can be used after instantiation; variable B can only be accessed within the class, that is, the function inside the class can use B; the variable c is available for the TestClass inheritance class.Copy codeThe Code is as follows: class B
{
Private void st ()
{
TestClass tec = new TestClass ();
Int aa = tec. a; // right
Int bb = tec. B; // wrong
Int cc = tec. c // wrong
}
TestClass instantiate the object tec. tec can access a but cannot access B and c. Under what circumstances can access B and c?Copy codeThe Code is as follows: class C: TestClass
{
Private void st ()
{
TestClass tec = new TestClass ();
C bo = new C ();
Int aa = tec.;
Int bb = tec. B; // wrong
Int cc = tec. c; // wrong
Int tt = bo. c;
}
}
C first. C is a protected type, and its inherited Class C can be accessed. The Class B instantiated object is still inaccessible. But B can access c internally. As shown below, there are no restrictions in the category class.Copy codeThe Code is as follows: class TestClass
{
Public int a = 0;
Private int B = 0;
Protected int c = 0;
Pulic static int d = 0;
Private void OS ()
{
Int a1 =;
Int a2 = B;
Int a3 = c;
}
}
After B is inherited, c becomes private. That is to say, B's inheritance class cannot access c; as shown below, D cannot access c.Copy codeThe Code is as follows: class D: B
{
Private void st ()
{
B bo = new B ();
Int dd = bo. c; // restricted access to wrong
}
}
The static modifier indicates that the field or method belongs to the class, not a specific object. When the TestClass class is instantiated, the values of a, B, and c are different, but d is the same. If a, B, and c are equivalent to the province in which everyone is located, d indicates that everyone is in China.Copy codeThe Code is as follows: class B: TestClass
{
TestClass tec = new TestClass ();
Int bb = tec. a; // wrong error cause: the initial value of the field references non-static fields.
Int cc = TestClass. d;
Private void st ()
{
B bo = new B ();
Int aa = tec.;
Int tt = bo. c;
}
}
Summary:
Puclic: Class, both inside and outside the class; private: Internal; protect: class, that is, its derived class.