Java >> Tutoriel Java >  >> Java

Pourquoi Java ne prend pas en charge les héritages multiples ?

Nous allons d'abord comprendre ce qu'est l'héritage ?

L'héritage signifie qu'une méthode est définie une fois et qu'elle peut être utilisée n'importe où sans réécrire à nouveau. Avec l'aide de l'héritage. Nous pouvons atteindre la réutilisabilité.

Qu'est-ce que l'héritage multiple ?

L'héritage est un concept applicable dans la plupart des langages de programmation. Lorsque la classe A est extensible par la classe B et qu'une classe B est extensible par la classe C.

Syntaxe

interface A{

	public void a(){

	}
}

interface B extends A{

	public void a(){

	}
}

class C implements A,B{

	public void c(){

	}
}

Dans la syntaxe ci-dessus, lorsque nous créerons un objet de classe C, puis à l'aide d'un objet de classe C, si nous appelons une méthode () avec un objet de classe C, nous obtiendrons une ambiguïté.

Java résout le problème d'ambiguïté à l'aide de l'interface.

Nous ne pouvons pas obtenir d'héritage multiple à l'aide de l'interface car les méthodes d'interface doivent être redéfinies dans chaque classe enfant, mais l'héritage n'a pas besoin d'être redéfini à nouveau, c'est pourquoi nous ne pouvons pas dire que l'interface se comporte comme un héritage multiple.

Exemple

interface A{
	public void a();
}

interface B extends A{
	public void a();
}

class InterfaceAB implements A,B{
	public void a(){
		System.out.println("Interface A a()");
	}

	public static void main(String[] args){
		InterfaceAB iab = new InterfaceAB();
		iab.a();
	}
}

Sortie

D:\Java Articles>java InterfaceAB
Interface A a()

Balise Java