标记接口是不含有任何方法的接口,它的目的是通过将特定接口应用于类来为该类添加类型信息。以下是一个示例:
public interface Drawable {// 标记接口,不包含任何方法
}public class Circle implements Drawable {private int radius;public Circle(int radius) {this.radius = radius;}// 具体实现省略...
}public class Rectangle implements Drawable {private int width;private int height;public Rectangle(int width, int height) {this.width = width;this.height = height;}// 具体实现省略...
}public class Main {public static void main(String[] args) {Drawable circle = new Circle(5);Drawable rectangle = new Rectangle(10, 8);// 根据类型执行相应操作if (circle instanceof Circle) {System.out.println("This is a circle");}if (rectangle instanceof Rectangle) {System.out.println("This is a rectangle");}}
}
在上述示例中,Drawable
是一个标记接口,没有任何方法定义。Circle
和 Rectangle
类都实现了 Drawable
接口。
通过将 Drawable
接口应用于不同的类,我们为这些类添加了共同的类型信息。在 Main
类中,我们创建了一个 Circle
对象和一个 Rectangle
对象,并使用 instanceof
运算符检查对象的类型。根据类型,我们可以执行相应的操作。
通过标记接口,我们可以对具有相同特性或行为的类进行分类、组织和处理。标记接口提供了更灵活的方式,使我们能够根据类型信息进行动态操作。