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?
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