在Java中,接口(interface)是一种抽象类型,它允许定义一组方法的签名,但没有提供具体的实现。接口提供了一种实现多继承的机制,一个类可以实现多个接口。以下是关于Java接口的基本信息和示例:

1. 定义接口:
// 定义接口
interface Shape {
    void draw(); // 抽象方法,没有实现
    double getArea(); // 另一个抽象方法
}

2. 实现接口:
// 实现接口
class Circle implements Shape {
    private double radius;

    // 实现接口的抽象方法
    public void draw() {
        System.out.println("Drawing a circle");
    }

    public double getArea() {
        return Math.PI * radius * radius;
    }

    // 其他类特有的方法
    public void setRadius(double radius) {
        this.radius = radius;
    }
}

3. 实现多个接口:
// 定义另一个接口
interface Drawable {
    void display();
}

// 一个类可以实现多个接口
class Rectangle implements Shape, Drawable {
    private double length;
    private double width;

    // 实现 Shape 接口的抽象方法
    public void draw() {
        System.out.println("Drawing a rectangle");
    }

    // 实现 Shape 接口的抽象方法
    public double getArea() {
        return length * width;
    }

    // 实现 Drawable 接口的抽象方法
    public void display() {
        System.out.println("Displaying rectangle");
    }

    // 其他类特有的方法
    public void setDimensions(double length, double width) {
        this.length = length;
        this.width = width;
    }
}

4. 使用接口:
public class InterfaceExample {
    public static void main(String[] args) {
        // 创建实现接口的对象
        Circle circle = new Circle();
        circle.setRadius(5.0);

        // 调用接口的方法
        circle.draw();
        System.out.println("Circle Area: " + circle.getArea());

        // 创建实现多个接口的对象
        Rectangle rectangle = new Rectangle();
        rectangle.setDimensions(4.0, 6.0);

        // 调用多个接口的方法
        rectangle.draw();
        System.out.println("Rectangle Area: " + rectangle.getArea());
        rectangle.display();
    }
}

在这个例子中,Shape 和 Drawable 是两个接口,Circle 类实现了 Shape 接口,而 Rectangle 类实现了 Shape 和 Drawable 两个接口。

接口提供了一种更灵活的代码组织方式,允许不同的类实现相同的接口,从而实现多态性。


转载请注明出处:http://www.zyzy.cn/article/detail/13485/Java