java中的标记界面

Om *_*dav 3 java jvm

如何在java.how中创建自己的标记接口以通知JVM将其视为特殊类?任何人都可以详细说明.

提前致谢....

Boz*_*zho 6

你不能用JVM做那样的事情.

嗯,你可以,但你很少想要这样做.JVM代理可以在JVM中"插入".

但标记接口并未用于此 - 它们用于标记符合条件的类.Serializable例如,未在JVM中检查 - 它由ObjectOutputStream.

因此,您可以创建public interface MyMarker {}并使用它instanceof来验证给定的类是否在您自己的逻辑中实现它.

但是,从Java 1.5开始,执行此操作的首选方法是通过注释(即使您使用jvm代理) -

public @interface MyMarker {..}

@MyMarker
public class MyClass { .. }
Run Code Online (Sandbox Code Playgroud)

然后验证:

object.getClass().isAnnotationPresent(MyMarker.class);
Run Code Online (Sandbox Code Playgroud)