假设有两个接口,它们有不同的方法。我正在实现类中的两个接口并使用这两个接口的方法。
interface A { void show1(); }
interface B { void show(); }
public class test implements A, B{
@Override
void show1(){
System.out.println("show1");
}
@Override
void show(){
System.out.println("show");
}
}
多个不合理的定义:
多重继承是一些面向对象的计算机编程语言的一个特性,其中一个对象或类可以从多个父对象或父类继承特性和特性。
问题
我可以说我在程序中所做的是多重继承吗?如果不是,为什么?
注意
我使用的是Java 7.
答案 0 :(得分:4)
我认为多个接口的实现不是多重继承。
您的对象可能具有多个接口的实现。例如,您的 Car 对象可能具有 BreakStatus , FuelTank 接口等接口,但未定义Car作为<的子类型/派生类型< em> BreakStatus , FuelTank 。
继承是:一个对象extends
其他对象(父)属性和/或行为。
Java对象不支持多重继承(扩展多个对象),例如class Child extends Parent1, Parent2 {}
N.B。 Java接口支持扩展多个接口,例如: interface I3 extends I1, I2 {}
答案 1 :(得分:4)
没有。因为接口的主要目的是抽象,这意味着从外部隐藏实现细节。因此,如果您实现一个或多个接口,则该关系为like a
关系而非is a
关系。
使用接口的另一个目的是类之间的松散耦合。 (抽象的副作用)。
答案 2 :(得分:2)
是的,你在程序中所做的是多重继承。
Java编程语言支持多种类型的继承,这是类实现多个接口的能力。一个对象可以有多种类型:它自己的类的类型以及该类实现的所有接口的类型。
https://docs.oracle.com/javase/tutorial/java/IandI/multipleinheritance.html
答案 3 :(得分:0)
是的,您正在使用多个接口实现多重继承,您可以继承两个不同接口的定义。
在java中,使用Multiple接口实现多重继承。默认情况下,接口中的方法总是抽象的,不允许它们在接口本身中提供它们的实现(或方法定义)。