以下是关于 Java 接口的一些基本概念和示例:
1. 定义接口:
接口使用 interface 关键字定义,可以包含抽象方法、常量和默认方法。
interface Shape {
// 抽象方法
void draw();
// 常量
String COLOR = "red";
// 默认方法(Java 8+)
default void printColor() {
System.out.println("Color: " + COLOR);
}
}
2. 实现接口:
类通过 implements 关键字实现接口,必须提供接口中定义的所有方法的具体实现。
class Circle implements Shape {
@Override
public void draw() {
System.out.println("Drawing a circle");
}
}
3. 多接口实现:
一个类可以实现多个接口,通过逗号分隔。
interface Printable {
void print();
}
class Square implements Shape, Printable {
@Override
public void draw() {
System.out.println("Drawing a square");
}
@Override
public void print() {
System.out.println("Printing a square");
}
}
4. 接口继承:
接口可以继承另一个接口,使用 extends 关键字。
interface ThreeDShape extends Shape {
void draw3D();
}
5. 接口的特点:
- 接口中的方法默认是抽象的,可以包含默认方法(default 关键字)和静态方法(static 关键字)。
- 接口中的字段默认是常量,必须初始化,且只能是 public、static、final 修饰的。
- 一个类可以实现多个接口,但只能继承一个类。
- 接口用于实现多继承和规范类的行为,提高了代码的灵活性和可维护性。
6. 示例使用:
public class Main {
public static void main(String[] args) {
Shape circle = new Circle();
circle.draw(); // 调用的是 Circle 类中的 draw 方法
circle.printColor(); // 调用的是接口中的默认方法
Shape square = new Square();
square.draw(); // 调用的是 Square 类中的 draw 方法
Printable printableSquare = new Square();
printableSquare.print(); // 调用的是 Square 类中的 print 方法
}
}
上面的例子中,Circle 类和 Square 类分别实现了 Shape 接口,Square 类同时实现了另一个接口 Printable。通过接口,实现了对不同形状的绘制和打印的统一访问。
转载请注明出处:http://www.zyzy.cn/article/detail/429/Java