如果我将创建一个如下所示的新对象,默认情况下它将具有哪个访问修饰符?
Object objectA = new Object();
任何成员都将始终拥有最严格的可用成员 - 因此在这种情况下,可访问性objectA
is private
。(假设它是一个实例变量。作为局部变量没有任何意义,因为它们本身没有任何访问规则。)
所以这:
class Foo
{
Object objectA = new Object();
}
相当于:
internal class Foo
{
private Object objectA = new Object();
}
“默认为最私有”意味着对于类型,可访问性取决于上下文。这:
class Outer
{
class Nested
{
}
}
相当于:
internal class Outer
{
private class Nested
{
}
}
...因为您不能拥有私有的非嵌套类。
只有一个地方添加显式访问修饰符可以使某些东西比没有它时更私密,那就是在属性声明中:
public string Name { get; set; } // Both public
public string Name { get; private set; } // public get, private set
void Foo()
{
// private in method scope
Object objectA = new Object();
}
class Bar()
{
// private in class scrope
Object objectA = new Object();
}
默认情况下它是私有的。
َََََ
作为班员:private
。
如果它是在方法体内声明的局部变量,则它在该方法之外没有可访问性。但我猜你已经知道了。
类/类型本身将默认为“内部”。您创建的对象将默认为“私有”。
默认情况下,类和结构声明为内部!
在这里阅读更多
类的访问说明符是内部的。
变量的访问说明符是私有的。