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