package geometry;
public class Hypotenuse {
public InnerTriangle it = new InnerTriangle();
class InnerTriangle {
public int base;
public int height;
}
}
Какое утверждение верно о классе объекта, который может ссылаться на переменную базу?доступ к локальной переменной во внутреннем классе
A. Это может быть любой класс.
B. Класс не имеет доступа к базе.
C. Класс должен принадлежать пакету геометрии.
D. Класс должен быть подкласс класса Гипотенуза
Это из SCJP отвалов, Ответ «C». Поскольку мой ответ на знание должен быть «B», потому что внутренний класс имеет локальную переменную, называемую «базой», и имеет область действия только во внутреннем классе. Даже если я хочу переменную usethis в классе «geometry», мне не разрешено это делать.
Прошу вас, если я ошибаюсь?
По этому аргументу никакое поле не может быть доступно в другом файле класса, так как оно также выходит за пределы области. –
'it.base' может вызываться локальными классами пакетов (так как InnerTriangle является локальным именем пакета). –