【问题标题】:What is the need to use Interface in java? [duplicate]java中使用Interface需要什么? [复制]
【发布时间】:2014-02-19 10:45:07
【问题描述】:

我只是对 Java 中使用的接口有点困惑。 例如,我正在创建一个类似的界面,

interface Inter
{
   void get();
}

我正在一个类中实现它,

class Base implements Inter
{
   void get()
   {
     ------
   }
}

如果我声明一个类,有什么区别

class Base
{
   void get()
   {
     ------
   }
}

有什么不同吗?那我为什么要在java中使用接口。我知道这是一个基本问题。但我很困惑。所以请解决这个问题..

【问题讨论】:

标签: java oop


【解决方案1】:

接口使调用者和被调用类之间的契约更加明确。
此外,它还允许您在一定程度上模拟多重继承(比如说您
有超类 A 并且你不能改变它,你仍然可以实现一些
接口 B 并将您的类传递给接受 B 作为参数的方法
但对你的超类A一无所知)。

【讨论】:

    【解决方案2】:
    public interface Animal {
    
    public void eat();
    public void sleep();
    
    }
    
    public class Dog implements Animal{
    
    // Now FOR A DOG TO BE AN ANIMAL, IT MUST IMPLEMENT ALL THE BEHAVIOURS(METHODS) OF ANIMAL INTERFACE. IF IT MISSES EVEN ONE BEHAVIOUR, THEN A DOG IS NOT AN ANIMAL.
    public void eat()
    {
    }
    public void sleep()
    {
    }
    }
    

    【讨论】:

      【解决方案3】:

      Why Interfaces?

      接口是契约或协议,或者是对类可以做什么的共同理解。当一个类实现某个接口时,它承诺为接口中声明的所有抽象方法提供实现。接口定义了一组常见的行为。实现接口的类同意这些行为,并为这些行为提供自己的实现。这允许您在接口上进行编程,而不是在实际的实现中进行编程。

      接口的主要用途之一是提供两个对象之间的通信契约。如果您知道一个类实现了一个接口,那么您就知道该类包含在该接口中声明的方法的具体实现,并且您可以保证能够安全地调用这些方法。换句话说,两个对象可以根据接口中定义的约定进行通信,而不是它们的具体实现。

      【讨论】:

        【解决方案4】:

        首先,它很有用,因为您不能从多个类继承。

        这也是一种契约。

        所有实现 Movable 的类都可以移动,但每个类都有自己的方式。 所以当你处理一个 Movable 时,不管他的类是什么,你都知道你可以使用 move() 方法。

        希望对你有帮助。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-04-21
          • 1970-01-01
          • 2013-05-28
          • 1970-01-01
          • 2016-07-02
          • 2012-03-05
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多