@Michael
ответ правильный. Поведение аналогично для .NET
для кода @asenovm
.
Кроме того, то же самое относится и к внутренним классам Java
. Даже если вы определили переменную как приватную, вы можете получить к ней доступ. Я удивился, когда впервые столкнулся, потому что он отличается от C#
.
public class WrapperClass
{
public static class NotThreadsafe {
private int x = 0;
//....
}
public static void main(String[] args) {
final NotThreadsafe nts=new NotThreadsafe();
int x = nts.x ; // !!! THIS IS ACCESSIBLE AS WELL FOR JAVA BUT NOT.NET
}
}
Это не то же самое для C#
вложенных классов. Если вы вставите этот код в Visual Studio, он не будет работать. Компилятор беспокоится об уровнях доступа.