如果我有一个公共类并且无法为其中一个成员提供访问修饰符,那么它将默认为私有。我想知道默认访问修饰符(私有)是否始终是默认值,而不管类包含它的类的可访问性。
例如
public class Galaxy : Universe
{
//This is private since no modifier was used
void CreatePlanet()
{
//do stuff
}
}
protected class Universe
{
//access modifier is omitted (private or protected?)
int GetGalaxyCountWithinDistance(Galaxy g, int LightYears)
{
int answer = some logic;
return answer;
}
}
我可以不这样做吗?
{
Galaxy MilkyWay = new Galaxy();
int closestGalaxies = MilkyWay.GetGalaxyCountWithinDistance(MilkyWay, 100);
}
或者我是否需要辛苦地声明受保护类的每一个成员都受到保护?
答案 0 :(得分:7)
简而言之。默认值为private
。所以是的,无论类的访问修饰符如何,您都需要明确声明变量是protected
。