界面用简单的英语

时间:2010-09-30 09:47:46

标签: java interface

请使用简单的英语解释为什么我们需要以及为什么我们在面向对象开发中使用接口。

我非常困惑。

[+]我正在研究Java。如果有的话,请提供Java中的示例代码。

谢谢大家。

7 个答案:

答案 0 :(得分:2)

您是否检查过, Java接口的部分您有解释和一些Java示例

http://www.javabeginner.com/learn-java/java-abstract-class-and-interface

示例1:下面是Shape接口的示例

interface Shape {

    public double area();
    public double volume();
}

下面是一个实现Shape接口的Point类。

public class Point implements Shape {

    static int x, y;
    public Point() {
        x = 0;
        y = 0;
    }
    public double area() {
        return 0;
    }
    public double volume() {
        return 0;
    }
    public static void print() {
        System.out.println("point: " + x + "," + y);
    }
    public static void main(String args[]) {
        Point p = new Point();
        p.print();
    }
}

答案 1 :(得分:1)

您正在提供interface要做的事情,它将如何完成,将在实施中介绍。

假设有一个接口驱动程序,你将声明一个方法drive();

现在假设一个汽车司机实施这个方法然后他可以在那里写他的代码 如果飞行员实施了驾驶方法,那么他的代码......

我希望它清楚。

答案 2 :(得分:1)

以下是JavaRanch的entry部分中的Java Beginner FAQ。它可能会有所帮助。 此外,请转到JavaRanch。对于Java初学者,尤其是没有其他更好的替代品。

答案 3 :(得分:1)

接口用于描述2个对象的共同点,但实现方式不同。 mybook给出的例子是鸭子。

假设你有2只鸭子

  • 正常活着

  • 和一个木制的

和一个接口ifly使用方法fly();

两者都能飞。所以Fly方法进入界面。因为当你实现一个接口时,你必然会在该接口中实现这些功能。 (这就像合同!)

所以Duck实现了IFly,并且在它的fly方法中,所有它都写入控制台说:我可以飞。

虽然木鸭子说“我不会飞”。

然后当你这样做时:

(C#抱歉不懂java)

IFLy duck = new Duck() duck.fly(); -- This will write I Can fly. Ifly woodenduck = new WoodenDuck() woodenduck.fly()

说我不会飞。

简而言之,A接口描述了要实现的对象,因此您可以将其视为合同。

希望这会让它更清晰一些,在开始时也会遇到很多麻烦。

(srry无法解释真的很好)

答案 4 :(得分:1)

interface(在java中)是一个不可替换的抽象类(它没有构造函数),它提供 public 方法,所有继承它们的子类必须实施。

此外,继承的一个优点是促进multiple inheritance

答案 5 :(得分:0)

你的意思是我们为什么需要接口或为什么我们不使用抽象类? 接口提供:

1)抽象和依赖倒置。高级课程并不关心他们使用的具体低级课程。你有更多的abstration,你获得更多的灵活性。例如,您可以完全重写与DB一起使用的级别,并且您可以保持应用程序的其他级别不受影响,因为它们使用接口而不是具体实现。

2)在Java接口中提供多重继承

答案 6 :(得分:0)

老实说,你应该花时间阅读关于Java的好书。我推荐Herbert Schildt的Java Complete Reference。

首先了解以下术语及其在OO背景下的重要性:

  1. 输入
  2. 合同由
  3. 发布
  4. 实施
  5. 多态性