Classe étendant plus d'une classe Java?

je sais qu'une classe peut implémenter plusieurs interfaces, mais est-il possible d'étendre à plus d'une classe? Par exemple, je veux que ma classe étende les deux TransformGroup et une classe que j'ai créée. Est-ce possible en Java? Les deux énoncés class X extends TransformGroup extends Y et class X extends TransformGroup, Y recevoir une erreur. Et si ce n'est pas possible, pourquoi? TransformGroup s'étend Group mais je suppose que cela s'étend aussi Node puisqu'il hérite des champs de Node et il peut être passé où un Node l'objet est requis. Aussi, comme toutes les classes Java, ils s'étendent Object classe. Alors, pourquoi ne serait-il pas possible d'étendre à plus d'une classe?

TransformGroup héritage

Donc, si c'est possible, quelle est la bonne façon de le faire? Et si ce n'est pas le cas, pourquoi et comment résoudre le problème?

19
demandé sur Bujanca Mihai 2013-02-28 13:59:31

11 réponses

en Java, l'héritage multiple n'est pas autorisé. Il a été exclu de la formulation en tant que décision de conception, principalement pour éviter les dépendances circulaires.

Scenario1: Comme vous l'avez appris ce qui suit n'est pas possible en Java:

public class Dog extends Animal, Canine{

}

scénario 2: Cependant le suivant est possible:

public class Canine extends Animal{

}

public class Dog extends Canine{

}

La différence entre ces deux approches est que dans la seconde approche, il est clairement défini parent ou super classe, alors que dans la première approche, l' super classe est ambigu.

Examiner si les deux Animal et Canine avait une méthode drink(). Dans le premier scénario, quelle méthode parent serait appelée si nous appelions