0

0

Item 使用标记接口来定义类型

WBOY

WBOY

发布时间:2024-07-12 10:04:18

|

799人浏览过

|

来源于dev.to

转载

item 使用标记接口来定义类型

定义和目的
标记界面:

  • 不包含方法声明。
  • 将类标记为具有特定属性。
  • 示例: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 等方法契约。
  • 与标记注释比较

书签备注:

微动100多用户微信服务平台带分销系统
微动100多用户微信服务平台带分销系统

系统包含模块:1、卖场系统适用客户:实体卖场,可以分类管理,每个分类设置一个客服,客服可以使用手机管理分类商品2、万能表单用户可以自定义表单字段,收集各样信息,并可以导出Excel3、第三方接口方便用户自己开发,目前仅支持text格式4、留言板可以显示用户的头像和昵称5、场景二维码这是高级接口的使用,方便统计用户来源6、一键分享一个仿微信公众号详情界面,可以分享到朋友圈7、婚纱摄影一个相册+店面展

下载
  • 可以应用于更多的程序元素(类、接口、方法等)。

示例:

@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
}

总结

  • 标记接口用于定义类型,无需额外方法。
  • 标记注释用于广泛标记程序元素。
  • 选择取决于标记的上下文和目的。

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

1050

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

106

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

478

2025.12.29

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

11

2026.01.19

Golang 性能分析与pprof调优实战
Golang 性能分析与pprof调优实战

本专题系统讲解 Golang 应用的性能分析与调优方法,重点覆盖 pprof 的使用方式,包括 CPU、内存、阻塞与 goroutine 分析,火焰图解读,常见性能瓶颈定位思路,以及在真实项目中进行针对性优化的实践技巧。通过案例讲解,帮助开发者掌握 用数据驱动的方式持续提升 Go 程序性能与稳定性。

9

2026.01.22

html编辑相关教程合集
html编辑相关教程合集

本专题整合了html编辑相关教程合集,阅读专题下面的文章了解更多详细内容。

56

2026.01.21

三角洲入口地址合集
三角洲入口地址合集

本专题整合了三角洲入口地址合集,阅读专题下面的文章了解更多详细内容。

30

2026.01.21

AO3中文版入口地址大全
AO3中文版入口地址大全

本专题整合了AO3中文版入口地址大全,阅读专题下面的的文章了解更多详细内容。

393

2026.01.21

妖精漫画入口地址合集
妖精漫画入口地址合集

本专题整合了妖精漫画入口地址合集,阅读专题下面的文章了解更多详细内容。

116

2026.01.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号