2014-04-11 5 views
-2

В то время как я работал на моем назначении на Java, я создал 3-х классов, позволяет сказать, что класс 1, class2 и class3Может ли класс быть подклассом более чем одного класса?

Затем я попытался определить один из классов следующим образом:

public class class1 extends class2 extends class3{ 

Честно говоря, я был почти уверен, что это не сработает, а на самом деле этого не произошло.

Так что я хотел знать Если бы я мог создать отдельный подкласс для двух разных суперклассов. Спасибо!

+0

Нет, вы не можете. И если вы будете искать в широкой сети, вы найдете много объяснений. Перед тем, как задать простые вопросы, пожалуйста, обращайтесь в Google. – Kayaman

+0

Это невозможно, но есть «обходы». http://stackoverflow.com/questions/15132528/class-extending-more-than-one-class-java – Tricky12

+0

НЕТ !!!!! Thats основы Java .. – GoldRoger

ответ

3

То, о чем вы просите, это multiple inheritance. Java не поддерживает это.

Множество наследований трудно реализовать для компиляторов - в основном из-за diamond problem.

За исключением - на Java 8 существуют интерфейсы со стандартными методами. Это позволяет использовать легкую версию множественного наследования.

+0

Несколько интерфейсов + методы по умолчанию –

0

Нет, вы не можете. В Java вы можете расширить только один базовый класс. Однако вы можете реализовать с нескольких интерфейсов.

0

Для java, no.

в «Tink in java» 1.8 Single Root extends structure упомянула об этом.

но в C++, да.

Смежные вопросы