Содержание
Я считаю, что это первый вопрос, который вы можете ожидать в интервью Java . Очень простые вопросы, но широко используемые в интервью :). На этот вопрос нет идеального ответа, и есть несколько способов ответить на этот вопрос. Может быть, ваш интервьюер ищет практический подход к этим вопросам? Возможный. Тогда давайте начнем с базового определения, а затем рассмотрим то же самое с несколькими примерами .
- Что такое интерфейс в Java ?
- Что такое интерфейс в Java с примером в реальном времени ?
- Зачем использовать интерфейс в Java
- Дизайн интерфейса Java
- Наиболее распространенные вопросы интервью по интерфейсу
Интерфейс
-
interfaceэто просто контракт, описание поведения класса реализации . Реализующий класс гарантирует, что у него будут эти методы, которые можно использовать в нем. Это в основном контракт или обещание, которое должен дать класс. - Что если в ваших проектах все различные реализации используют одни и те же сигнатуры методов? Интерфейс работает лучше всего в этом случае.
- На более позднем этапе после реализации крупного проекта давайте посмотрим, внедрили ли вы определения интерфейса в ~ 50 мест, что если вы измените интерфейс? Вы должны внести изменения во все 50 мест в ваших проектах.
- Желательно потратить немного больше времени на определение интерфейса на этапе проектирования, а скорее изменить его на более позднем этапе
- Интерфейс состоит из
singletonпеременные (public static final) а такжеpublic abstractметоды. Обычно мы предпочитаем интерфейс в режиме реального времени, когда мы знаем, что делать, но не знаем, как это сделать. Интерфейс не может содержать поля экземпляра. - Классы, которые реализуют Интерфейс, должны предоставить определение метода для всех существующих методов.
- Класс может реализовывать несколько интерфейсов.
- Реализация интерфейса может быть добавлена к любому существующему стороннему классу.
- Интерфейс может содержать любое количество методов.
- В Java вы не можете создать экземпляр интерфейса.
- Интерфейс не содержит конструкторов.
- Интерфейс не расширен классом; это реализуется классом.
- Интерфейс может расширять несколько интерфейсов.
Примеры интерфейсов:
Совет 1
Создать интерфейс CrunchifyDatabaseInterface.java
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
пакет ком . crunchify. учебник ;
Импортировать Java. Util. Карта ;
Импортировать Java. Util. UUID ;
/ **
* @author Crunchify.com
*
* /
общественности интерфейс CrunchifyDatabaseInterface {
// Основные операции с базой данных CRUD
// Вставить
логический insertCrunchifyRecord ( идентификатор UUID , строка имя , строка адрес , строка телефон , строка почтовый индекс , строка комментарии ) ;
// Удалять
общественности логический deleteCrunchifyRecord ( идентификатор UUID ) ;
// Получить
общественности Карта < Строка , Строка > getListOfAllCrunchifyRecords ( ) ;
// Обновить
логический updateCrunchifyRecord ( идентификатор UUID , Карта < Строка , Строка > записи ) ;
}
|
Совет 2
Реализовать интерфейс CrunchifyDatabaseOracleImpl.java
Когда вы впервые реализуете интерфейс, Eclipse покажет, что вы добавляете нереализованные методы.
Просто нажмите на « Add unimplemented methods И ваш класс IMPL должен быть готов с Auto-generated method stub ,
Совет 3. Фактический метод Impl.
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
пакет ком . crunchify. учебник ;
Импортировать Java. Util. Карта ;
Импортировать Java. Util. UUID ;
/ **
* @author Crunchify.com
*
* /
общественности учебный класс CrunchifyDatabaseOracleImpl инвентарь CrunchifyDatabaseInterface {
@Override
общественности логический insertCrunchifyRecord ( идентификатор UUID , строка имя , строка адрес , строка телефон , строка почтовый индекс , строка комментарии ) {
// TODO Укажите здесь фактическую реализацию, исходя из ваших потребностей, специфичных для Oracle
вернуть ложь ;
}
@Override
общественности логический deleteCrunchifyRecord ( идентификатор UUID ) {
// TODO Укажите здесь фактическую реализацию, исходя из ваших потребностей, специфичных для Oracle
вернуть ложь ;
}
@Override
общественности Карта < Строка , Строка > getListOfAllCrunchifyRecords ( ) {
// TODO Укажите здесь фактическую реализацию, исходя из ваших потребностей, специфичных для Oracle
вернуть ноль ;
}
@Override
общественности логический updateCrunchifyRecord ( идентификатор UUID , Карта < Строка , Строка > записи ) {
// TODO Укажите здесь фактическую реализацию, исходя из ваших потребностей, специфичных для Oracle
вернуть ложь ;
}
}
|
Совет 4
Аналогичным образом вы можете использовать один и тот же интерфейс для реализации различных операций, специфичных для базы данных . Например, для DB2, MySQL , MongoDB, Cassandra DB и т. Д.
Что дальше?
В процессе написания « Tutorial on Abstract Class , А затем еще один учебник, который четко показывает Difference between Abstract Class and Interface «.
0.00 (0%) 0 votes









