定义和目的标记界面:
不包含方法声明。
将类标记为具有特定属性。
示例:serialized 表示一个类可以被序列化。
标记接口的优点
类型定义:
标记接口定义类实例实现的类型。
允许在编译时进行错误检测。
示例:
public class myclass implements serializable {
// implementa??o
}
登录后复制
编译时间检查:
使用标记接口可以在编译过程中检测到错误。
可序列化的示例:
objectoutputstream.writeobject(myobject); // garante que myobject seja serializable
登录后复制
打标准确度:
标记接口可以精确应用于特定的子类型。
示例:
public interface mymarkerinterface extends myspecificinterface {
// sem métodos adicionais
}
登录后复制
使用示例
可序列化:
表示一个类可以序列化。
示例:
public class person implements serializable {
private string name;
private int age;
// getters, setters, etc.
}
登录后复制
将接口设置为限制标记:
仅适用于collection的子类型,但不添加除collection定义之外的方法。
细化了 add、equals 和 hashcode 等方法契约。
与标记注释比较
书签备注:
可以应用于更多的程序元素(类、接口、方法等)。
示例:
@retention(retentionpolicy.runtime)
@target(elementtype.type)
public @interface mymarkerannotation {
}
@mymarkerannotation
public class myclass {
// implementa??o
}
登录后复制
何时使用标记接口与何时使用标记接口标记注释:
使用标记界面如果:
标记必须定义类型。
您可能想要编写只接受带有该标记的对象的方法。
在以下情况下使用标记注释:
该标签适用于类或接口以外的元素。
它是大量使用注释的框架的一部分。
记号笔的优点
框架的一致性:
促进基于注释的框架之间的一致性。
示例:
@myframeworkannotation
public class myclass {
// implementa??o
}
登录后复制
使用决定定义类型:
使用标记界面。
标记不是类或接口的元素:
使用项目符号注释。
基于注释的框架的一部分:使用项目符号注释。
最终示例
标记接口:
public interface mytypemarker {
}
public class myclass implements mytypemarker {
// implementa??o
}
public void process(mytypemarker obj) {
// processa apenas objetos marcados com mytypemarker
}
登录后复制
书签备注:
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface MyAnnotationMarker {
}
@MyAnnotationMarker
public class MyClass {
// Implementa??o
}
登录后复制
总结
标记接口用于定义类型,无需额外方法。
标记注释用于广泛标记程序元素。
选择取决于标记的上下文和目的。
以上就是Item 使用标记接口来定义类型的详细内容,更多请关注php中文网其它相关文章!


MP3 天前
发表在:MagicEXIF通用注册机 v1.13明亮的 旅行分享! 做得真好。
BrendanWaida7 天前
发表在:11日20日,星期四,在这里每天60秒读懂世界!При выборе автономно...
JosephJaf10 天前
发表在:MagicEXIF通用注册机 v1.13我尊重这样的项目, 这里展示真正的旅游。...
Frankcic10 天前
发表在:11日20日,星期四,在这里每天60秒读懂世界!Для блога может быть...
Stevedaf19 天前
发表在:MagicEXIF通用注册机 v1.13所有文章都令人印象深刻。继续保持 真诚。...
Stevedaf19 天前
发表在:Intel XTU中文补丁 1.13我经常访问 关于旅行的资源。有趣阅读游记...
Stevedaf20 天前
发表在:MagicEXIF通用注册机 v1.13我常常想, 能像你们一样多旅行。感谢激励...
Stevedaf20 天前
发表在:Intel XTU中文补丁 1.13很高兴阅读 有用的内容。十分 很有意思。...
Stevedaf20 天前
发表在:MagicEXIF通用注册机 v1.13我早就想, 能像你们一样多旅行。谢谢启发...
Stevedaf20 天前
发表在:Intel XTU中文补丁 1.13我一直梦想, 那么放松地度假。感谢激励。...