Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
#1

ООП - класс в классе - Android

27.07.2014, 19:44. Просмотров 1092. Ответов 7
Метки нет (Все метки)

Запутался в ООП!
Создал класс ААА. В нем публичный класс с параметрами BBB.
Создал другой независимый класс CCC. В пытаюсь создать публичную переменную AAA.BBB b=new AAA.BBB();

Ругается на компиляцию:
Error: (106, 45) java: an enclosing instance that contains com.my.AAA.BBB is required

Могу конечно продублировать BBB в ССС, но не понимаю почему по другому не получается... вроде логично... все доступно, даже перекрестных ссылок нет... С думблем все работает, но переменных в классе слишком много! При росте проекта могу что-нибудь упустить. И выносить класс BBB в отдельный файл не хочется - слишком компактный и удобный класс-файл получился - все необходимое в одном месте...
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Netscape
371 / 358 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
27.07.2014, 19:49     ООП - класс в классе #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
public static class BBB {}
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
27.07.2014, 20:39  [ТС]     ООП - класс в классе #3
неожиданно помогло!
Обычно студия сама предлагает такое исправление... думал раз не предагает, значит не поможет...
EVP
320 / 242 / 43
Регистрация: 14.12.2010
Сообщений: 462
27.07.2014, 23:20     ООП - класс в классе #4
Цитата Сообщение от Tester64 Посмотреть сообщение
В пытаюсь создать публичную переменную AAA.BBB b=new AAA.BBB();
Цитата Сообщение от Tester64 Посмотреть сообщение
Обычно студия сама предлагает такое исправление... думал раз не предагает, значит не поможет...
Студия о чём-то догадывалась:
Java
1
AAA.BBB b = new AAA().new BBB();
PS: Следует заглянуть в раздел Явы за книжками...
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
27.07.2014, 23:34  [ТС]     ООП - класс в классе #5
Цитата Сообщение от EVP Посмотреть сообщение
Следует заглянуть в раздел Явы за книжками
Все никак руки не доходят... Вроде за год понял от логики явы около 80-90%... В основном методом тыка... 6-7 месяцев назад мечтал купить книжку (в инете) - теперь вроде и не нужно! сложности возникают крайне редко - знал не меньше 3х способов как эту ошибку обойти другими средствами, но удивился что этот способ не сработал...
Сейчас уже 99% времени уходит на написание своих компонент и разработку своих методик...
EVP
320 / 242 / 43
Регистрация: 14.12.2010
Сообщений: 462
27.07.2014, 23:50     ООП - класс в классе #6
Цитата Сообщение от Tester64 Посмотреть сообщение
теперь вроде и не нужно! сложности возникают крайне редко
Угу, зачем может понадобится систематизация знаний об изученном языке в таких ситуациях?

Цитата Сообщение от Tester64 Посмотреть сообщение
но удивился что этот способ не сработал...
О каком именно способе речь?
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
28.07.2014, 00:12  [ТС]     ООП - класс в классе #7
Цитата Сообщение от EVP Посмотреть сообщение
О каком именно способе речь?
Теперь-то сработал (после static), но я был готов плюнуть и за пол часика переписать все это по другому. Или вынести класс в отдельный файл...

В электронных книгах систематизировать знания не особо удобно! А бумажной пока нет, да и не горит уже... Вечно отвлекаюсь - лучше чем читать "пожелания от автора" написать еще страничку-две кода и раз 10 перезапустить программу. Это в делфи пол часа чтения теории наглядно спасало часы кодинга... А в андроиде иногда часы уходят на подбор цветовой гаммы и перестановку размеров шрифтов или пикселов в компонентах... 99% времени это игры с дурным андроид-апи, а не с ява-тонкостями!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.07.2014, 00:58     ООП - класс в классе
Еще ссылки по теме:

Cпрятать компоненты в классе, который наследуется от DialogFragment Android
Как переназначить переменную в классе Android
Android В классе не Activity доступ к Resources
Android Обработка FloatingActionButton в классе не наследующим класс Activity
Android Не вижу абстрактных методов в классе BaseAdapter

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
EVP
320 / 242 / 43
Регистрация: 14.12.2010
Сообщений: 462
28.07.2014, 00:58     ООП - класс в классе #8
Цитата Сообщение от Tester64 Посмотреть сообщение
Теперь-то сработал (после static), но я был готов плюнуть и за пол часика переписать все это по другому. Или вынести класс в отдельный файл...
Повторюсь: Nested Classes.
Yandex
Объявления
28.07.2014, 00:58     ООП - класс в классе
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru