介绍
Java 接口是一种抽象数据类型,用于定义类的行为规范。它允许我们定义方法的签名,但没有具体的实现。通过接口,我们可以实现类之间的耦合,增强代码的可扩展性和复用性。
Java 接口的特性
- 接口由关键字
interface
定义,并可包含常量和抽象方法。 - 接口中的方法默认为
public abstract
,不需显式声明。接口中的常量默认为public static final
,通常用全大写命名。 - 类可以实现(
implements
)多个接口,但只能继承(extends
)一个类。 - 接口可用于实现多态,允许对象根据其实际类型调用相应的方法。
- 从 Java 8 开始,接口可以包含默认方法(
default method
)和静态方法(static method
)的实现。
为什么要用接口?
- 接口被用来描述一种抽象。
- 因为Java不像C++一样支持多继承,所以Java可以通过实现接口来弥补这个局限。
- 接口也被用来实现解耦。
- 在接口中存在的变量一定是final,public,static的。
接口的用法
定义接口:通过 interface
关键字定义接口,如下所示:
public interface Shape {
void draw();
double getArea();
double getPerimeter();
}
实现接口:通过 implements
关键字实现接口,并实现接口中的方法,如下所示:
public class Circle implements Shape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
@Override
public void draw() {
System.out.println("Drawing a circle.");
}
@Override
public double getArea() {
return Math.PI * radius * radius;
}
@Override
public double getPerimeter() {
return 2 * Math.PI * radius;
}
}
使用接口:通过接口类型引用对象,实现接口的多态性,如下所示:
public class Main {
public static void main(String[] args) {
Shape shape = new Circle(5);
shape.draw();
System.out.println("Area: " + shape.getArea());
System.out.println("Perimeter: " + shape.getPerimeter());
}
}
关于接口的几个重点
1.我们不能直接去实例化一个接口,因为接口中的方法都是抽象的,是没有方法体的
2.一个类可以实现不止一个接口
3.一个类如果要实现某个接口的话,那么它必须要实现这个接口中的所有方法
4.一个接口可以继承于另一个接口,或者另一些接口,接口也可以继承,并且可以多继承
总结
Java 接口是一种强大的工具,用于定义类之间的规范和行为。通过实现接口,类可以获得多态性,并扩展其功能。接口还可以帮助团队协作和代码组织,使代码更具可维护性和可扩展性。熟练掌握接口的使用将有助于提高 Java 程序的质量和可读性。
感谢您阅读本文。如果您对本文内容有任何疑问、意见或建议,欢迎在评论区留言讨论!