Java 界面及示例
Java 中的接口是什么?
Java 接口是一种抽象类型,用于指定类的行为。Java 接口包含静态常量和抽象方法。一个类可以实现多个接口。在 Java 中,接口使用 interface 关键字声明。接口中的所有方法都隐式地是 public 和 abstract 的。
声明接口的语法
要在类中使用接口,请在类名后追加“implements”关键字,后跟接口名。
interface { //methods }
实现接口的示例
现在,让我们通过示例理解 Java 中的接口
class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle
如果视频无法访问,请点击此处
为什么需要接口?
为了更好地理解 Java 中接口的用途,让我们看一个 Java 接口示例。“Media Player”类有两个子类:CD player 和 DVD player。每个类都有其在 Java 方法中播放音乐的独特接口实现。
另一个类“Combo drive”继承了 CD 和 DVD(见下图)。它应该继承哪个 play 方法?这可能会导致严重的设计问题。因此,Java 不允许多重 继承。
现在让我们以狗为例。
假设您有一个需求,其中类“dog”继承类“animal”和“Pet”(见下图)。但在 Java 中,您不能继承两个类。那么您该怎么做?解决方案是接口。
接口的规则如下:
- Java 实现接口是一个 100% 的抽象类,并且只有 抽象方法。
- 类可以实现任意数量的接口。
类 Dog 可以继承类“Animal”并实现接口“Pet”。
Java 接口示例
让我们通过下面的 Java 接口程序来理解
步骤 1) 将以下代码复制到编辑器中。
interface Pet{ public void test(); } class Dog implements Pet{ public void test(){ System.out.println("Interface Method Implemented"); } public static void main(String args[]){ Pet p = new Dog(); p.test(); } }
步骤 2) 保存、编译和运行代码。观察 Java 程序中接口的输出。
类与接口的区别
在类中,您可以实例化变量并创建对象。 | 在接口中,您不能实例化变量和创建对象。 |
类可以包含具体(带实现)方法 | 接口不能包含具体(带实现)方法 |
类使用的访问修饰符有 private、protected 和 public。 | 在接口中,仅使用一个修饰符:Public。 |
何时使用接口和抽象类?
- 当需要为一组子类定义模板时,请使用抽象类。
- 当需要为其他类定义角色时,请使用接口,而无需考虑这些类的继承树。
关于接口必须了解的事实
- Java 类可以实现多个 Java 接口。类必须实现接口中声明的所有方法。
- 类应重写接口中声明的所有抽象方法。
- 接口允许向对象发送消息,而不必关心它属于哪个类。
- 类需要为接口中声明的方法提供功能。
- 接口中的所有方法都是隐式 public 和 abstract 的。
- 接口不能被实例化。
- 接口引用可以指向其实现类的对象。
- 接口可以扩展一个或多个接口。类只能扩展一个类,但可以实现任意数量的接口。
- 接口不能实现另一个接口。如果需要,它必须扩展另一个接口。
- 在另一个接口内部声明的接口称为嵌套接口。
- 在声明时,接口变量必须初始化。否则,编译器将报错。
- 类不能在 Java 中实现具有相同名称但返回类型不同的方法的两个接口。
摘要
- 实现接口的类需要为接口中声明的方法提供功能。
- 接口中的所有方法都是隐式 public 和 abstract 的。
- 接口不能被实例化。
- 接口引用可以指向其实现类的对象。
- 接口可以扩展一个或多个接口。类只能扩展一个类,但可以实现任意数量的接口。