Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Как сослаться в методе анонимного класса на член "родительского" класса / 5 сообщений из 5, страница 1 из 1
27.08.2013, 07:47:56
    #38378069
daly
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сослаться в методе анонимного класса на член "родительского" класса
Мне надо сослаться в методе анонимного класса на член класса, в конструкторе которого этот анонимный класс создается.
Если имя члена и имя параметра разные - никаких проблем, но если же имена совпадают...
Короче, думаю будет понятнее на примере (пример упрощен, чтобы показать суть проблемы).
Вот так не работает:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
class TestClass {
	private Object field;

	public TestClass(Object field) {
		this.field = field;

		(new Object() {
			public void method() {
				field = new Object();
			}
		}).method();

	}

	public static void main(String... args) {
		new TestClass(new Object());
	}

}


А вот так работает (для параметра вместо field использовано field1):
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
class TestClass {
	private Object field;

	public TestClass(Object field1) {
		this.field = field1;

		(new Object() {
			public void method() {
				field = new Object();
			}
		}).method();

	}

	public static void main(String... args) {
		new TestClass(new Object());
	}

}


Собственно вопрос в том, как сослаться именно на член класса TestClass. Пробовал через this.field - не работает.
...
Рейтинг: 0 / 0
27.08.2013, 07:51:47
    #38378071
daly
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сослаться в методе анонимного класса на член "родительского" класса
dalyА вот так работает (для параметра вместо field использовано field1):
А вот так НЕ работает (для параметра вместо field использовано field1):
...
Рейтинг: 0 / 0
27.08.2013, 10:56:24
    #38378261
daly
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сослаться в методе анонимного класса на член "родительского" класса
dalydalyА вот так работает (для параметра вместо field использовано field1):
А вот так НЕ работает (для параметра вместо field использовано field1):
Во я тупанул, все верно было написано))
...
Рейтинг: 0 / 0
27.08.2013, 11:03:22
    #38378284
avp.mk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сослаться в методе анонимного класса на член "родительского" класса
TestClass.this.field = new Object();
...
Рейтинг: 0 / 0
27.08.2013, 11:13:10
    #38378304
daly
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сослаться в методе анонимного класса на член "родительского" класса
avp.mk,
спасибо большое
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Как сослаться в методе анонимного класса на член "родительского" класса / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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