在 Java 中,接口(Interface)是一种抽象类型,它定义了一组方法的集合,但没有提供这些方法的具体实现。类通过实现接口来达到多继承的效果,一个类可以实现多个接口。接口在 Java 编程中广泛用于实现多态和规范类的行为。

以下是关于 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