Java 接口

❮ Java 抽象类

Java Anonymous 匿名类 ❯

Java 接口

更新于 2024/1/10 17:48:00

接口

Java 中实现abstraction抽象的另一种方法是使用接口。

An interface 接口是一个完全"抽象类",用于将相关方法与空实体分组:

实例

// 接口

interface Animal {

public void animalSound(); // 接口方法(没有主体)

public void run(); // 接口方法(没有主体)

}

要访问接口方法,接口必须由另一个具有 implements 关键字(而不是extends)的类"实现"(类似于继承)。

接口方法的主体由"implement"类提供:

实例

// 接口

interface Animal {

public void animalSound(); // 接口方法(没有主体)

public void sleep(); // 接口方法(没有主体)

}

// Pig "implements" the Animal interface

class Pig implements Animal {

public void animalSound() {

// 这里提供了 animalSound() 的主体

System.out.println("The pig says: wee wee");

}

public void sleep() {

// sleep() 的主体在此处提供

System.out.println("Zzz");

}

}

class MyMainClass {

public static void main(String[] args) {

Pig myPig = new Pig(); // 创建 Pig 对象

myPig.animalSound();

myPig.sleep();

}

}

运行实例 »

关于接口的说明:

与抽象类一样,接口不能用于创建对象(在上面的示例中,不可能在MyMainClass中创建"Animal"对象)

接口方法没有主体-主体由"implement"类提供

在实现接口时,必须重写其所有方法

默认情况下,接口方法是 abstract 抽象的和public公共的

I接口属性默认为 public, static 和 final

接口不能包含构造函数(因为它不能用于创建对象)

为什么以及何时使用接口?

1) 为了实现安全性-隐藏某些细节,只显示对象(接口)的重要细节。

2) Java不支持"多重继承"(一个类只能从一个超类继承)。但是,它可以通过接口实现,因为该类可以实现多个接口。

注释: 要实现多个接口,请用逗号分隔它们(请参见下面的示例)。

多个接口

要实现多个接口,请用逗号分隔:

实例

interface FirstInterface {

public void myMethod(); // 接口方法

}

interface SecondInterface {

public void myOtherMethod(); // 接口方法

}

class DemoClass implements FirstInterface, SecondInterface {

public void myMethod() {

System.out.println("Some text..");

}

public void myOtherMethod() {

System.out.println("Some other text...");

}

}

class MyMainClass {

public static void main(String[] args) {

DemoClass myObj = new DemoClass();

myObj.myMethod();

myObj.myOtherMethod();

}

}

运行实例 »

❮ Java 抽象类

Java Anonymous 匿名类 ❯