Может ли обычный класс реализовать несколько интерфейсов?

Я знаю, что возможно множественное наследование между интерфейсами, например:

public interface C extends A,B {...} //Where A, B and C are Interfaces

Но возможно ли иметь обычный класс, наследуемый от нескольких интерфейсов, например так:

public class A implements C,D {...} //Where A is a Class and C and D are interfaces

Ответ 1

Класс Java может распространять только один родительский класс. Не допускается множественное наследование (extends). Однако интерфейсы не являются классами, и класс может реализовать более одного интерфейса.

Родительские интерфейсы объявляются в списке, разделенном запятыми, после ключевого слова implements.

В заключение, да, можно сделать:

public class A implements C,D {...}

Ответ 2

public class A реализует C, D {...} valid

это способ реализовать множественную наследование в java

Ответ 3

Одним словом - да. Фактически, многие классы в JDK реализуют несколько интерфейсов. Например, ArrayList реализует List, RandomAccess, Cloneable и Serializable.

Ответ 4

Конечно... Почти все классы реализуют несколько интерфейсов. На любой странице Java-документации по Oracle у вас есть подразделение под названием "Все реализованные интерфейсы".

Здесь пример класса Date.

Ответ 5

Да, это возможно. Это улов: java не поддерживает множественное наследование, т.е. Класс не может распространять более одного класса. Однако класс может реализовывать несколько интерфейсов.

Ответ 6

Интерфейс может расширять другие интерфейсы. Также интерфейс не может реализовать любой другой интерфейс. Когда дело доходит до класса, он может расширять еще один класс и реализовывать любое количество интерфейсов.

class A extends B implements C,D{...}