亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> java

Java - 接口

接口是 Java 中的引用类型。它类似于类。它是抽象方法的集合。一个类实现了一个接口,从而继承了接口的抽象方法。

除了抽象方法,接口还可以包含常量、默认方法、静态方法和嵌套类型。方法体只存在于默认方法和静态方法中。

编写接口类似于编写类。但是一个类描述了一个对象的属性和行为。接口包含类实现的行为。

除非实现接口的类是抽象类,否则接口的所有方法都需要在类中定义。

接口在以下方面类似于类 -

然而,接口在几个方面与类不同,包括 -

声明接口

界面 关键字用于声明接口。这是一个声明接口的简单示例 -

示例

以下是一个接口示例 -

/* File name : NameOfInterface.java */
import java.lang.*;
// Any number of import statements

public interface NameOfInterface {
   // Any number of final, static fields
   // Any number of abstract method declarations\
}

接口具有以下属性 -

示例

/* File name : Animal.java */
interface Animal {
   public void eat();
   public void travel();
}

实现接口

当一个类实现一个接口时,你可以把这个类看作是签订了一份契约,同意执行接口的具体行为。如果一个类不执行接口的所有行为,则该类必须将自己声明为抽象。

一个类使用实现 关键字来实现接口。 implements 关键字出现在声明的扩展部分之后的类声明中。

示例

/* File name : MammalInt.java */
public class MammalInt implements Animal {

   public void eat() {
      System.out.println("Mammal eats");
   }

   public void travel() {
      System.out.println("Mammal travels");
   } 

   public int noOfLegs() {
      return 0;
   }

   public static void main(String args[]) {
      MammalInt m = new MammalInt();
      m.eat();
      m.travel();
   }
} 

这将产生以下结果 -

输出

Mammal eats
Mammal travels

重写接口中定义的方法时,需要遵循几条规则 -

实现接口时,有几条规则 -

扩展接口

一个接口可以扩展另一个接口,就像一个类可以扩展另一个类一样。 扩展 关键字用于扩展接口,子接口继承父接口的方法。

以下 Sports 接口由 Hockey 和 Football 接口扩展。

示例

// Filename: Sports.java
public interface Sports {
   public void setHomeTeam(String name);
   public void setVisitingTeam(String name);
}

// Filename: Football.java
public interface Football extends Sports {
   public void homeTeamScored(int points);
   public void visitingTeamScored(int points);
   public void endOfQuarter(int quarter);
}

// Filename: Hockey.java
public interface Hockey extends Sports {
   public void homeGoalScored();
   public void visitingGoalScored();
   public void endOfPeriod(int period);
   public void overtimePeriod(int ot);
}

Hockey 接口有四个方法,但它从 Sports 继承了两个;因此,实现 Hockey 的类需要实现所有六个方法。同样,实现 Football 的类需要定义 Football 中的三个方法和 Sports 中的两个方法。

扩展多个接口

Java 类只能扩展一个父类。不允许多重继承。然而,接口不是类,一个接口可以扩展多个父接口。

extends 关键字使用一次,父接口以逗号分隔的列表声明。

例如,如果 Hockey 接口同时扩展了 Sports 和 Event,它将被声明为 -

示例

public interface Hockey extends Sports, Event

标记接口

当父接口不包含任何方法时,最常使用扩展接口。例如java.awt.event包中的MouseListener接口扩展了java.util.EventListener,定义为-

示例

package java.util;
public interface EventListener
{}

没有方法的接口称为标记 界面。标记接口有两个基本的设计目的 -

创建一个共同的父级 − 与由Java API 中的许多其他接口扩展的EventListener 接口一样,您可以使用标记接口在一组接口之间创建一个公共父级。例如,当一个接口扩展 EventListener 时,JVM 知道这个特定的接口将用于事件委托场景。

向类添加数据类型 − 这种情况是术语标签的来源。实现标记接口的类不需要定义任何方法(因为接口没有任何方法),但类通过多态成为接口类型。


java

  1. Java final 关键字
  2. Java instanceof 运算符
  3. Java 接口
  4. Java 嵌套静态类
  5. Java 匿名类
  6. Java 单例类
  7. Java 反射
  8. Java ObjectOutputStream 类
  9. Java 泛型
  10. Java 文件类
  11. Java中的接口与抽象类:有什么区别?
  12. Java - 接口