Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / interface / 13 сообщений из 13, страница 1 из 1
07.03.2014, 14:36
    #38581170
alex021
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
interface
Добрый день, можно ли как-нибудь не реализовывать все методы интерфеса?

Кроме как кинуть UnsupportedOperationException , переопределив метод.

То есть класс, наследующий интефейс, не должен реализовывать некоторые методы, которые определены в интерфейсе.

Спасибо)
...
Рейтинг: 0 / 0
07.03.2014, 14:46
    #38581189
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
interface
Java 7 - Объявить класс абстрактным. Наследникам нужно будет реализовать недостающие методы.
Java 8 - реализовать метод в интерфейсе.
...
Рейтинг: 0 / 0
07.03.2014, 15:08
    #38581212
alex021
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
interface
Blazkowicz,

Спасибо. А других вариантов нет?
...
Рейтинг: 0 / 0
07.03.2014, 15:09
    #38581213
bochkov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
interface
Сделать 2 интерфейса,
один наследует другого, или не наследует
например №1 - базовые методы, которые об-но должны быть реализованы,
№2 - доп методы,
класс №1 которому не нужны доп методы реализует инт.№1
класс №2 которому нужны доп методы, наследует класс №1 и реализует инт.№2,
...
Рейтинг: 0 / 0
07.03.2014, 15:16
    #38581232
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
interface
alex021Спасибо. А других вариантов нет?
Композиция и делегирование.
...
Рейтинг: 0 / 0
07.03.2014, 15:24
    #38581245
Andrew1411
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
interface
Blazkowicz,

Есть еще способ. Юзать java.lang.reflect.Proxy, в InvocationHandler для "нереализованных методов" кидать UnsupportedOperationException.
"реализованные методы" делегировать объекту "частичной реализации интерфейса"
...
Рейтинг: 0 / 0
07.03.2014, 15:26
    #38581247
Andrew1411
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
interface
Сорри, ответ для alex021
...
Рейтинг: 0 / 0
07.03.2014, 16:41
    #38581369
avp.mk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
interface
alex021,

Сделать класс (имплементирующий интерфейс) абстрактным.
...
Рейтинг: 0 / 0
07.03.2014, 17:49
    #38581450
alex021
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
interface
Blazkowicz,bochkov , Andrew1411

спасибо всем)
почитал доку и пробую использовать default методы.

Поставил jdk, jre восьмые. в новых проектах все гуд. все нормально.

а в старых пишет что-то типо :

[highlight]default methods are not supported in -source 1.7
use -source 8 or higher to enable default methods
[/highlight]
может кто-нибудь объяснить почему так происходит? я не совсем понимаю(
...
Рейтинг: 0 / 0
07.03.2014, 17:53
    #38581455
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
interface
alex021может кто-нибудь объяснить почему так происходит? я не совсем понимаю(
В настройках проекта надо поменять используемую JDK и версию Java синтаксиса, которую должна использовать IDE.
...
Рейтинг: 0 / 0
07.03.2014, 18:03
    #38581467
alex021
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
interface
Blazkowicz,

да, про синтаксис не знал) спасибо!
топик закрыт , проблема решена.
Еще раз спасибо откликнувшимся!
...
Рейтинг: 0 / 0
08.03.2014, 11:15
    #38581730
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
interface
alex021Blazkowicz,
Спасибо. А других вариантов нет?
эта задача нелогична.
Есть интерфейс Кенгуру. Давайте не будем реализовывать метод Прыгает?
...
Рейтинг: 0 / 0
08.03.2014, 11:50
    #38581738
avp.mk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
interface
Petro123эта задача нелогична.
Есть интерфейс Кенгуру. Давайте не будем реализовывать метод Прыгает?
А потом вызовем его пять раз и Посмотрим что получится))
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / interface / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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