Множественное наследование

 

В Java, как и во многих других языках программирования, не допускается множественное наследование для классов. У класса может быть только один непосредственный предок (у которого, в свою очередь, может быть и свой один предок и т. п.). Множественное наследование в Java допускается только для интерфейсов. Т. е. в качестве второго (третьего и т. д.) предка может выступать только интерфейс. Комбинации тут возможны разные - например, несколько интерфейсов могут выступать в качестве предков как для класса, так и для интерфейса. Или интерфейсы могут быть предками совместно с одним классом.

 

Вот несколько примеров (в которых подразумевается, что интерфейсы IInterface1 и IInterface2 существуют):

// Интерфейс с 2-я интерфейсами-предками.

public interface IInterface3 extends IInterface1, IInterface2 {

...

}

// Класс с 2-я интерфейсами-предками.

public class Class1 implements IInterface2, IInterface1 {

...

}

// Класс с интерфейсом и классом в качестве предков.

public class Class2 extends Class1 implements IInterface1 {

...

}

 

Обратите внимание, что при наследовании интерфейса от интерфейса и класса от класса мы используем ключевое слово extends, а при наследовании класса от интерфейса мы используем ключевое слово implements.