接口(简介与对比)
定义接口,在类中实现接口,并将其与抽象类进行对比。学习默认方法和多接口实现。
接口(简介与对比) 是 CoddyKit 上的免费 Java Academy 课时。 这是第 2 节课,共 3 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Java Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Java Academy 课程共包含 3 节课。
什么是接口
接口:列出类必须提供的方法签名的一份契约。您可以用它描述某种能力,例如 Drivable 或 Printable,而不必固定类的继承层次。
代码:实现接口
类通过实现接口来保证提供某些行为。您可以使用接口类型引用对象,并调用其中声明的方法。
public class Main {
// Interface that declares a capability
static interface Drivable {
void drive(); // method to implement
}
// A class implements the interface
static class Car implements Drivable {
public void drive() {
System.out.println("Car is driving");
}
}
public static void main(String[] args) {
Drivable d = new Car(); // upcast to interface
d.drive(); // runs Car's method
}
}
接口与抽象类
抽象类 = 带有共享代码的“属于某类”关系。接口 = “能够执行某项操作”的能力。一个类可以继承一个类,但可以实现多个接口,这能让设计保持灵活,并避免形成过深的继承树。
代码:默认方法
接口可以包含带有代码的默认方法。实现该接口的类会自动继承这段简单的行为。
public class Main {
// Interface with a default method (has a body)
static interface Greeter {
void greet(String name);
default void sayBye() { // default provides a reusable tiny implementation
System.out.println("Bye");
}
}
static class SimpleGreeter implements Greeter {
public void greet(String name) {
System.out.println("Hello, " + name);
}
}
public static void main(String[] args) {
Greeter g = new SimpleGreeter();
g.greet("Ada");
g.sayBye(); // default method from the interface
}
}
多个接口
一个类可以同时实现多个接口(例如 Drivable 和 Maintainable)。这样可以描述各种能力,而不必强制使用固定的父类链。
代码:多个接口
一个类同时实现两个接口。根据上下文,您可以将它视为 Drivable、Maintainable 或其具体类型。
public class Main {
static interface Drivable { void drive(); }
static interface Maintainable { void maintain(); }
static class ServiceCar implements Drivable, Maintainable {
public void drive() { System.out.println("ServiceCar driving"); }
public void maintain() { System.out.println("ServiceCar maintenance"); }
}
public static void main(String[] args) {
ServiceCar s = new ServiceCar();
s.drive();
s.maintain();
}
}
接口检查
快速检查:关于 Java 中的接口,哪项说法正确?
回顾
回顾:接口定义行为契约,类负责实现它们。需要时,可以使用默认方法提供少量共享代码,并在一个类中组合多种能力。
常见问题解答
「接口(简介与对比)」课时是免费的吗?
是的 — 「接口(简介与对比)」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Java Academy 课程的其余内容,请升级到 CoddyKit PRO。 Java Academy 课程共包含 3 节课。
「接口(简介与对比)」这节课中我会学到什么?
定义接口,在类中实现接口,并将其与抽象类进行对比。学习默认方法和多接口实现。 你通过在浏览器中直接运行的动手代码来练习 Java Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Java Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Java Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 3 节。
「接口(简介与对比)」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Java Academy 课中编写并运行代码吗?
能。每节 Java Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 抽象类
- 接口(简介与对比)
- 向上转型、向下转型与 instanceof