Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Интерфейс в джаве

23K
21 ноября 2011 года
rafaelkyrdan
123 / / 03.05.2011
Что это: переменная типа интерфейс или экземпляр интерфейса?

Код джава
Код:
interface Test {
    void f()
}

class Test2 implements Test{
    void f(){}
    void g(){}
}

Test t = new Test2;
//t.g(); //Error
t.f();
240
21 ноября 2011 года
aks
2.5K / / 14.07.2006
Ссылка типа интерфейса.
Литературу по языку почитать слабо? =)
23K
21 ноября 2011 года
rafaelkyrdan
123 / / 03.05.2011
Читаю просто не понял решил уточнить.А как тогда создать экземпляр интерфейса, если это возможно? Просто запутался обьясните.
240
21 ноября 2011 года
aks
2.5K / / 14.07.2006
Цитата: rafaelkyrdan
.А как тогда создать экземпляр интерфейса, если это возможно?


Никак. На то это и интерфейс, что он описывает интерфейс без реализации. Вы всеж почитайте поподробней литературу по языку - не может быть чтоб там подробно это не объяснялось. Кстати у вас был опыт программирования на еще каких нибудь C-подобных языках?

244
21 ноября 2011 года
UAS
2.0K / / 19.07.2006
Интерфейс определяет, грубо говоря, определяет интерфейс :)
Это необходимо при унификации, когда класс должен иметь определенные методы, но внутри он их может реализовывать по-разному.

Например, музыкальный центр. У всех музыкальных центров есть "интерфейс", в который входят кнопки play, stop, pause. Но при этом реализация этих функций во всех центрах разная. Т.е. интерфейсом мы указываем, что центр должен поддерживать эти функции, а их реализация нас не касается.

Цитата:
как тогда создать экземпляр интерфейса, если это возможно

Через анонимные классы

 
Код:
interface Test {
    void f()
}

Test = new Test() {
    public void f() {}
};
240
21 ноября 2011 года
aks
2.5K / / 14.07.2006
Цитата: UAS

Через анонимные классы


Что опять же не будет "экземпляром" интерфейса. Не запутывай новичка - у него и так каша с терминами.

23K
21 ноября 2011 года
rafaelkyrdan
123 / / 03.05.2011
Цитата: aks
Кстати у вас был опыт программирования на еще каких нибудь C-подобных языках?


Нет не было.

Спасибо вроде понял

76K
21 ноября 2011 года
exoticious
7 / / 17.11.2011
Читаю просто не понял решил уточнить.А как тогда создать экземпляр интерфейса, если это возможно? Просто запутался обьясните.
244
21 ноября 2011 года
UAS
2.0K / / 19.07.2006
Цитата:
.А как тогда создать экземпляр интерфейса, если это возможно?

Это невозможно. Интерфейс, по сути - это лишь описание.
В моём примере, как верно подметили выше, я не создал экземпляр интерфейса. Я создал анонимный класс, который реализовывает методы указанного интерфейса.

240
22 ноября 2011 года
aks
2.5K / / 14.07.2006
Любишь разговаривать с тостерами? =)
63
28 ноября 2011 года
Zorkus
2.6K / / 04.11.2006
Ребята, давайте человеку ссылки на книги из прилепленного топика, а про анонимные классы рассказывать..с этого не надо начинать. Я тоже могу сейчас забыться и начать рассказывать, что такого понятия как анонимные класс в Java на уровне байткода нет, и все это синтаксический сахар над...и прочие.

Автор - я вам советую книгу заглянуть в прилепленный топик в этом разделе, найдете там много полезных ссылок и описаний книг.
78K
09 декабря 2011 года
liloyy
1 / / 09.12.2011
Mss32 dll это джава приложение ??
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог