Java 界面及示例

Java 中的接口是什么?

Java 接口是一种抽象类型,用于指定类的行为。Java 接口包含静态常量和抽象方法。一个类可以实现多个接口。在 Java 中,接口使用 interface 关键字声明。接口中的所有方法都隐式地是 public 和 abstract 的。

声明接口的语法

要在类中使用接口,请在类名后追加“implements”关键字,后跟接口名。

interface {
//methods
}

实现接口的示例

现在,让我们通过示例理解 Java 中的接口

class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle

如果视频无法访问,请点击此处

为什么需要接口?

为了更好地理解 Java 中接口的用途,让我们看一个 Java 接口示例。“Media Player”类有两个子类:CD player 和 DVD player。每个类都有其在 Java 方法中播放音乐的独特接口实现。

Why is an Interface required

另一个类“Combo drive”继承了 CD 和 DVD(见下图)。它应该继承哪个 play 方法?这可能会导致严重的设计问题。因此,Java 不允许多重 继承

Why is an Interface required

现在让我们以狗为例。

假设您有一个需求,其中类“dog”继承类“animal”和“Pet”(见下图)。但在 Java 中,您不能继承两个类。那么您该怎么做?解决方案是接口。

Why is an Interface required

接口的规则如下:

  • Java 实现接口是一个 100% 的抽象类,并且只有 抽象方法
  • 类可以实现任意数量的接口。

类 Dog 可以继承类“Animal”并实现接口“Pet”。

Why is an Interface required

Java 接口示例

让我们通过下面的 Java 接口程序来理解

步骤 1) 将以下代码复制到编辑器中。

interface Pet{
  public void test();
}
class Dog implements Pet{
   public void test(){
     System.out.println("Interface Method Implemented");
  }
   public static void main(String args[]){
     Pet p = new Dog();
     p.test();
  }
}

步骤 2) 保存、编译和运行代码。观察 Java 程序中接口的输出。

类与接口的区别

接口
在类中,您可以实例化变量并创建对象。 在接口中,您不能实例化变量和创建对象。
类可以包含具体(带实现)方法 接口不能包含具体(带实现)方法
类使用的访问修饰符有 private、protected 和 public。 在接口中,仅使用一个修饰符:Public。

何时使用接口和抽象类?

  • 当需要为一组子类定义模板时,请使用抽象类。
  • 当需要为其他类定义角色时,请使用接口,而无需考虑这些类的继承树。

关于接口必须了解的事实

  • Java 类可以实现多个 Java 接口。类必须实现接口中声明的所有方法。
  • 类应重写接口中声明的所有抽象方法。
  • 接口允许向对象发送消息,而不必关心它属于哪个类。
  • 类需要为接口中声明的方法提供功能。
  • 接口中的所有方法都是隐式 public 和 abstract 的。
  • 接口不能被实例化。
  • 接口引用可以指向其实现类的对象。
  • 接口可以扩展一个或多个接口。类只能扩展一个类,但可以实现任意数量的接口。
  • 接口不能实现另一个接口。如果需要,它必须扩展另一个接口。
  • 在另一个接口内部声明的接口称为嵌套接口。
  • 在声明时,接口变量必须初始化。否则,编译器将报错。
  • 类不能在 Java 中实现具有相同名称但返回类型不同的方法的两个接口。

摘要

  • 实现接口的类需要为接口中声明的方法提供功能。
  • 接口中的所有方法都是隐式 public 和 abstract 的。
  • 接口不能被实例化。
  • 接口引用可以指向其实现类的对象。
  • 接口可以扩展一个或多个接口。类只能扩展一个类,但可以实现任意数量的接口。