ZVVQ代理分享网

Item 使用标记接口来定义类型(form标记的method属

作者:zvvq博客网
导读定义和目的 标记界面: 不包含方法声明。 将类标记为具有特定属性。 示例:serialized 表示一个类可以被序列化。 标记接口的优点 类型定义: 标记接口定义类实例实现的类型。 允许在

定义和目地标识页面:

不包括方式申明。将类标记为具有特定特性。实例:serialized 表明一个类能够被实例化。标识插口的优势类型定义:

标识接口定义类案例 完成的种类。允许在编译时开展错误检验。实例:

publicclassmyclassimplementsserializable{

//implementação

}

编译时间查验:

应用标识插口可以在编译过程中检测出错误。可序列化的实例:

objectoutputstream.writeobject(myobject);//garantequemyobjectsejaserializable

打标精确度:

标识插口能够精准用于特定子类型。实例:

publicinterfacemymarkerinterfaceextendsmyspecificinterface{

//semmétodosadicionais

}

应用实例

可序列化:

表明一个类能够实例化。实例:

publicclasspersonimplementsserializable{

privatestringname;

privateintage;

//getters,setters,etc.

}

将插口设为限定标识:

只适用于collection的子类型,但不加上除collection界定以外的方式。细化了 add、equals 和 hashcode 等方式合同。与标识注解较为便签备注:

可以用在更多程序原素(类、插口、方式等)。实例:

@retention(retentionpolicy.runtime)

@target(elementtype.type)

public@interfacemymarkerannotation{

}

@mymarkerannotation

publicclassmyclass{

//implementação

}

何时应用标识插口与何时应用标识插口标识注解:

应用标识页面假如:标识务必界定种类。你可能需要撰写只接受含有该标记的对象的方法。在以下前提下应用标识注解:

该标识适用类或插口之外元素。这是广泛使用注解的框架的一部分。记号笔的优势

架构的一致性:推动根据注解的框架中间的一致性。实例:

@myframeworkannotation

publicclassmyclass{

//implementação

}

应用确定界定种类:

应用标识页面。标识不是类或接口原素:应用项目符号注解。根据注解的框架的一部分:应用项目符号注解。

最后实例

标识插口:

publicinterfacemytypemarker{

}

publicclassmyclassimplementsmytypemarker{

//implementação

}

publicvoidprocess(mytypemarkerobj){

//processaapenasobjetosmarcadoscommytypemarker

}

便签备注:

@Retention(RetentionPolicy.RUNTIME)

@Target(ElementType.TYPE)

public@interfaceMyAnnotationMarker{

}

@MyAnnotationMarker

publicclassMyClass{

//Implementação

}

汇总

标识插口用以界定种类,无需额外方式。标识注解用以普遍标识程序原素。挑选在于标记的前后文和目的。以上就是Item 应用标识插口来定义种类的详细内容,大量请关注其他类似文章!