Можете ли вы рассказать мне 1) почему можно назначить конструктор публичным для класса с видимым пакетом? Например:Java-головоломка: модификаторы
class TestModifiers {
public TestModifiers() {
}
}
Этот класс не может быть инстанцирован повсюду, но в том же пакете. Так что этого недостаточно, чтобы использовать модификатор видимого пакета для конструктора? Это справедливо и для любого метода (публичного) в таком классе (видимый пакет)
2) скажем, во внутреннем классе я создал две переменные 10. Почему я могу видеть их из внешнего класса? Разве это не странно? Например:
class A {
A(){}
class B {
private int b1;
private int b2;
}
public static void main(String[] args) {
new B().b1 = 1;
new B().b2 = 2;
}
}
Для вашего второго вопроса - это странно, и это так, как есть :) .. его обсуждали здесь раньше - http://stackoverflow.com/questions/4075262/access-modifiers-inside-a-private-static- nested-class-in-java –
Спасибо !!! Не видел этого. – Dmitry