![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Gunslinger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: нет Всего: 3 |
Если класс static, то все его поля и методы обязательно помечать как static?
|
|||
|
||||
EnJ |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 4.1.2010 Где: Харьков Репутация: нет Всего: нет |
Что-то я тогда в жизни упустил ))))
Незя при объявлении класса использовать ключевое слово static. А вот поле или метод - пожалуста. |
|||
|
||||
jk1 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 40 Всего: 75 |
Для внутренних классов можно. По существу: нет, поля и методы статического класса могут быть нестатисческими. -------------------- Opinions are like assholes — everybody has one |
|||
|
||||
EnJ |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 4.1.2010 Где: Харьков Репутация: нет Всего: нет |
Да, точно, внутренние можно.
Как-то стыдно вдруг стало ![]() з.ы.:для справки - статический вложенный класс не имеет ссылки на внешний класс. |
|||
|
||||
Gunslinger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: нет Всего: 3 |
Про то, что вложенный класс может быть статическим читал. Но примеров не нашел, поэтому меня интересует 2 вопроса:
1. Внешний класс может быть статическим? 2. Если класс статический, то, по логике, все его поля и методы так же должны быть статическими. |
|||
|
||||
EnJ |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 4.1.2010 Где: Харьков Репутация: нет Всего: нет |
||||
|
||||
Gunslinger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: нет Всего: 3 |
EnJ, спасибо за пример.
Получается, класс (кроме вложенного) не может быть static.
Так нельзя? Но static значит, что от класса нельзя создавать экземпляры. Как тогда быть, если от класса мне нужно именно такое поведение: невозможность создать экземпляр? |
|||
|
||||
4EJIOBEK |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 26.3.2007 Репутация: нет Всего: 4 |
для невозможности создания экзепляра делают приватные конструкторы
|
|||
|
||||
AlexeyVorotnikov |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 18.6.2007 Где: Москва Репутация: 10 Всего: 18 |
Сделать класс абстрактным. -------------------- RTFM! Три источника и три составные части Java: The Java Language Specification, Java Platform API Specification, The Java Virtual Machine Specification |
|||
|
||||
Christoph |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 667 Регистрация: 23.1.2008 Где: Харьков Репутация: нет Всего: 11 |
Хотел добавить вот что:
Чтоб инициализировать статический внутренний класс
не статический внутренний класс
Объект на внутренний класс, не может существовать без объекта на внешний класс -------------------- ![]() |
||||
|
|||||
Gunslinger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: нет Всего: 3 |
о_О? Опа, мистер Эккель кое-что от меня утаил.
Можно подробнее? Внутренний класс компилируется в отдельный файл. Общее - только доступ к некоторому содержимому обрамляющего класса. Как это выглядит на более низком уровне абстракции? Через глобальные переменные? |
|||
|
||||
AlexeyVorotnikov |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 18.6.2007 Где: Москва Репутация: 10 Всего: 18 |
Bruce Eckel, "Thinking in Java" Fourth Edition Глава "Interfaces" подраздел "Abstract classes and methods"
-------------------- RTFM! Три источника и три составные части Java: The Java Language Specification, Java Platform API Specification, The Java Virtual Machine Specification |
|||
|
||||
Gunslinger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: нет Всего: 3 |
AlexeyVorotnikov, я думал, такая вещь к наследованию относится. А главу про интерфейсы я только собрался читать. Раз там про abstract написано, то остался только вопрос выше.
|
|||
|
||||
AlexeyVorotnikov |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 18.6.2007 Где: Москва Репутация: 10 Всего: 18 |
-------------------- RTFM! Три источника и три составные части Java: The Java Language Specification, Java Platform API Specification, The Java Virtual Machine Specification |
|||
|
||||
Gunslinger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: нет Всего: 3 |
AlexeyVorotnikov, про связь обрамляющего и внутреннего класса. Но у Эккеля уже прочитал, что связь осуществляется с помощью ссылки на обрамляющий класс. Поэтому сначала нужно создать его экземпляр, а потом уже экземпляры внутренних классов. Ссылка на экземпляр обрамляющего класса это как this? Т.е. аналогичная механика?
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |