Java - 使用不同的方法实现两个接口

时间:2016-04-04 06:12:05

标签: java inheritance interface multiple-inheritance

假设有两个接口,它们有不同的方法。我正在实现类中的两个接口并使用这两个接口的方法。

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.

4 个答案:

答案 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关系。

使用接口的另一个目的是类之间的松散耦合。 (抽象的副作用)。

See this is a nice example

答案 2 :(得分:2)

是的,你在程序中所做的是多重继承。

  

Java编程语言支持多种类型的继承,这是类实现多个接口的能力。一个对象可以有多种类型:它自己的类的类型以及该类实现的所有接口的类型。

https://docs.oracle.com/javase/tutorial/java/IandI/multipleinheritance.html

答案 3 :(得分:0)

是的,您正在使用多个接口实现多重继承,您可以继承两个不同接口的定义。

在java中,使用Multiple接口实现多重继承。默认情况下,接口中的方法总是抽象的,不允许它们在接口本身中提供它们的实现(或方法定义)。