Java interface 关键字
定义和用法
interface
关键字用于声明仅包含抽象方法的特殊类型的类。
如需访问接口方法,接口必须由另一个类使用 implements
关键字(而不是 extends
)“实现”(有点像继承)。接口方法的主体由 "implement" 类提供。
接口的注意事项:
- 它不能用于创建对象(在下面的例子中,不可能在 MyMainClass 中创建 "Animal" 对象)
- 接口方法没有主体 - 主体由 "implement" 类提供
- 在实现接口时,您必须重写其所有方法
- 接口方法默认为
abstract
和public
- 接口属性默认为
public
、static
和final
- 接口不能包含构造函数(因为它不能用于创建对象)
为什么以及何时使用接口?
为了实现安全性 - 隐藏某些细节并仅显示对象(接口)的重要细节。
Java 不支持“多重继承”(类只能继承超类)。不过,可以通过接口来达成,因为类可以实现多个接口。注意:要实现多个接口,请用逗号分隔它们(请参见下面的例子)。
相关页面
教程:Java 接口
实例
接口是一个抽象“类”,用于将相关方法与“空”主体分组:
如需访问接口方法,接口必须由另一个类使用 implements
关键字(而不是 extends
)“实现”(有点像继承)。接口方法的主体由 "implement" 类提供:
// 接口 interface Animal { public void animalSound(); // 接口方法(没有主体) public void sleep(); // 接口方法(没有主体) } // Pig “实现” Animal 接口 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(); } }
多个接口
要实现多个接口,请用逗号分隔它们:
实例
interface FirstInterface { public void myMethod(); // 接口方法 } interface SecondInterface { public void myOtherMethod(); // 接口方法 } // DemoClass “实现” FirstInterface 和 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(); } }