java中的标记界面

Abh*_*sek 2 java

是否可以在java中编写我们自己的标记接口.我正在编写类似的代码

public interface MyMarker{

}
Run Code Online (Sandbox Code Playgroud)

那是一个标记界面吗?

如果有可能那么我如何理解JVM这个界面是我自己创建的标记界面?

Jon*_*eet 13

是的,这是一个标记界面.您将测试对象是否"实现"它简单如下:

if (x instanceof MyMarker)
Run Code Online (Sandbox Code Playgroud)

对于您想要的特定(而不是对象)

if (MyMarker.isAssignableFrom(otherClass))
Run Code Online (Sandbox Code Playgroud)

您应该考虑使用注释而不是标记接口.它们并不总是直接替代,但在许多情况下它们用于相同的目标,而注释(IMO)更清洁.