Java implements 关键字
示例
一个 interface
是一个抽象的“类”,用于对具有“空”主体相关的 方法进行分组
要访问接口方法,必须使用 implements
关键字(而不是 extends
)由另一个类“实现”(有点像继承)。接口方法的主体由“实现”类提供
// interface
interface Animal {
public void animalSound(); // interface method (does not have a body)
public void sleep(); // interface method (does not have a body)
}
// Pig "implements" the Animal interface
class Pig implements Animal {
public void animalSound() {
// The body of animalSound() is provided here
System.out.println("The pig says: wee wee");
}
public void sleep() {
// The body of sleep() is provided here
System.out.println("Zzz");
}
}
class MyMainClass {
public static void main(String[] args) {
Pig myPig = new Pig(); // Create a Pig object
myPig.animalSound();
myPig.sleep();
}
}
定义和用法
implements
关键字用于实现一个 interface
。
interface
关键字用于声明一种特殊类型的类,该类仅包含抽象方法。
要访问接口方法,必须使用 implements
关键字(而不是 extends
)由另一个类“实现”(有点像继承)。接口方法的主体由“实现”类提供。
关于接口的说明
- 它**不能**用来创建对象(在上面的例子中,不可能在 MyMainClass 中创建一个“Animal”对象)
- 接口方法没有主体——主体由“实现”类提供
- 在实现接口时,必须重写其所有方法
- 接口方法默认情况下是
abstract
和public
- 接口属性默认情况下是
public
、static
和final
- 接口不能包含构造函数(因为它不能用来创建对象)
为什么要以及何时使用接口?
为了实现安全性 - 隐藏某些细节,只显示对象的必要细节(接口)。
Java 不支持“多重继承”(一个类只能从一个超类继承)。但是,可以通过接口来实现,因为类可以**实现**多个接口。**注意:**要实现多个接口,用逗号分隔它们(参见下面的示例)。
多个接口
要实现多个接口,用逗号分隔它们
示例
interface FirstInterface {
public void myMethod(); // interface method
}
interface SecondInterface {
public void myOtherMethod(); // interface method
}
// DemoClass "implements" FirstInterface and SecondInterface
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 接口教程 中了解更多关于接口的信息。