标记接口是不含有任何方法的接口,它的目的是通过将特定接口应用于类来为该类添加类型信息。以下是一个示例:
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
运算符检查对象的类型。根据类型,我们可以执行相应的操作。
通过标记接口,我们可以对具有相同特性或行为的类进行分类、组织和处理。标记接口提供了更灵活的方式,使我们能够根据类型信息进行动态操作。