Java 教程
/ Java 接口
Java 接口
在本教程中,您将学习如何使用Java接口,接口Java中实现abstraction抽象的另一种方法是使用接口。
接口
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(); } }
点击 "运行实例" 按钮查看在线实例