Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Почему можно получить доступ к приватной переменной вложеного класса? / 3 сообщений из 3, страница 1 из 1
31.01.2013, 13:18:01
    #38132211
dgroup
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему можно получить доступ к приватной переменной вложеного класса?
Почему этот код выполняется, а не приводит к ошибке компиляции?
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
public class Main {

    private static class A1 {
    	private static final  String s = "2";
    }

    public static void main(String ... arg) {
    	String a = A1.s;
    	System.out.println(a);
    }
}



Спрашивал у более опытных коллег, и получил ответ:
"Ну вот если взять класс то он же имеет доступ к своим приватным полям. То есть ко всему что внутри него. Если внутри его класс то логично предположить что и до всего его тоже будет доступ".


Можете более подробно объяснить, почему так происходит?
...
Рейтинг: 0 / 0
31.01.2013, 14:13:13
    #38132362
Evil Fate
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему можно получить доступ к приватной переменной вложеного класса?
В спеке написано:

if the member or constructor is declared private, then access is permitted if and only if it occurs within the body of the top level class (§7.6) that encloses the declaration of the member or constructor.
http://docs.oracle.com/javase/specs/jls/se5.0/html/names.html#6.6.1
...
Рейтинг: 0 / 0
04.02.2013, 01:48:04
    #38135619
Лагман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему можно получить доступ к приватной переменной вложеного класса?
dgroup,

Это такое особое джава-стайл ООП, не обращай внимания.
ООП в джаве родом скорее из c/с++ а не из научного ООП, так что какбы забей.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Почему можно получить доступ к приватной переменной вложеного класса? / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]