时间:2021-05-19
1.类中成员的访问修饰符
方位修饰符就是确定该成员能够访问(使用)的区域。C#中常用的有如下修饰符:pubic(公有)、private(私有)、internal(内联)、protected(受保护)。举例说明各个修饰符的限制区域。
复制代码 代码如下:
class TestClass
{
public int a = 0;
private int b = 0;
protected int c = 0;
pulic static int d=0;
}
TestClass类中变量a是公有类型,可以在类外方位,即类实例化后可以使用a;变量b只能在类内访问,即类内部的函数可以使用b;变量c则是TestClass继承类可以使用。
复制代码 代码如下:
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 实例化对象tec,tec可以访问a但不能访问b、c。那么什么情况下可以访问b、c呢?
复制代码 代码如下:
class C:TestClass
{
private void st()
{
TestClass tec = new TestClass();
C bo = new C();
int aa = tec.a;
int bb = tec.b;//wrong
int cc = tec.c;//wrong
int tt = bo.c;
}
}
先说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表明大家都在中国。
复制代码 代码如下:
class B:TestClass
{
TestClass tec = new TestClass();
int bb = tec.a;//wrong 错误原因是因为字段的初始值引用了非静态字段
int cc = TestClass.d;
private void st()
{
B bo = new B();
int aa = tec.a;
int tt = bo.c;
}
}
小结:
puclic修饰:类内,类外皆可;private:内部;protect:类内即其派生类。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
大数据Scala系列之类1.类的定义Scala访问修饰符基本和Java的一样,分别有:private,protected,public。如果没有指定访问修饰符符
Java语言提供了很多修饰符,主要分为以下两类:访问修饰符非访问修饰符修饰符用来定义类、方法或者变量,通常放在语句的最前端。我们通过下面的例子来说明:publi
1.private修饰符private修饰符用于设置类或类成员的访问权限仅为所属类的内部,private也被称为私有修饰符。某些时候需要访问私有类成员时,可通过
在C#中,new关键字可用作运算符、修饰符或约束。new运算符用于创建对象和调用构造函数。new修饰符用于向基类成员隐藏继承成员。new约束用于在泛型声明中约束
Java访问修饰符(访问控制符)Java通过修饰符来控制类、属性和方法的访问权限和其他功能,通常放在语句的最前端。例如:publicclassclassName