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

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

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

ООП - класс в классе - Программирование Android

27.07.2014, 19:44. Просмотров 1179. Ответов 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 в отдельный файл не хочется - слишком компактный и удобный класс-файл получился - все необходимое в одном месте...
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.07.2014, 19:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос ООП - класс в классе (Программирование Android):

Класс в классе - Программирование Android
Гуру, помогите! Еще не до конца понимаю нюансы ООП явы... Пытаюсь сделать "обвертку" для SQLiteOpenHelper. Выглядит это примерно так: ...

Обработка FloatingActionButton в классе не наследующим класс Activity - Программирование Android
Доброго времени суток. Пишу проект и столкнулся с такой проблемой. В своём приложении использую Tabs в ToolBar для удобного просмотра меню....

Класс: Как получить значение нестатичной переменной из класса One в классе Two? - Программирование Android
Java.Есть два класса One и Two. В классе One есть не статичная переменная t. Как получить значение t в классе Two? За готовый код буду...

наследование в классе нескольких функций из другого или как добавить функцию находящуюся в классе в другой класс - PHP ООП
есть класс. есть второй класс. как добавить функцию находящуюся в классе в другой класс(второй) при этом второй уже наследует какой то...

ООП перегрузка в классе! - C++
Помогите решить: Нужно сделать чтобы корректно работало следующее: 1. MyString s1("AAA"), s2; 2. s2="VVV"; С первым все ок,...

У меня класс B в классе A, а в классе B рекурсивная функция переопределения оператора "()", как её вызвать, не создавая явно объект класса B? - C++
#include <windows.h> #include <iostream> using namespace std; //Вот главный класс class A{ public: A (){}; class...

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

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

В электронных книгах систематизировать знания не особо удобно! А бумажной пока нет, да и не горит уже... Вечно отвлекаюсь - лучше чем читать "пожелания от автора" написать еще страничку-две кода и раз 10 перезапустить программу. Это в делфи пол часа чтения теории наглядно спасало часы кодинга... А в андроиде иногда часы уходят на подбор цветовой гаммы и перестановку размеров шрифтов или пикселов в компонентах... 99% времени это игры с дурным андроид-апи, а не с ява-тонкостями!
0
EVP
322 / 244 / 43
Регистрация: 14.12.2010
Сообщений: 465
28.07.2014, 00:58 #8
Цитата Сообщение от Tester64 Посмотреть сообщение
Теперь-то сработал (после static), но я был готов плюнуть и за пол часика переписать все это по другому. Или вынести класс в отдельный файл...
Повторюсь: Nested Classes.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.07.2014, 00:58
Привет! Вот еще темы с ответами:

Ошибка в выводе данных, класс выводит правильно, а класс в классе - нет - C++
Неизвестная для меня проблема. Класс выводит данные правильно из Consigment, а вот третий экземпляр класса, работает не верно, если...

Создать базовый класс Car (машина) и производный класс Lorry (грузовик): ООП ошибки - C++
Создать базовый класс Car (машина), характеризуемый торговой маркой (строка), числом цилиндров, мощностью. Определить методы переназначения...

Указатели в базовом классе на базовый класс и производный класс - C++
Пишу контейнер "Бинарное дерево поиска" для частотного словаря. С самим контейнером особо вопросов нету. Вопрос по поводу элементов в...

Абстрактный класс, наследование, класс хранится в другом классе - C++
Нужна помощь. Написать программу: 1 класс. Имеется абстрактный класс который описывает какую-то сущность, например Человек. В абстрактном...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
28.07.2014, 00:58
Ответ Создать тему
Опции темы

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