当前位置: 首页 > news >正文

php旅游网站开发的功能北京专业制作网站公司吗

php旅游网站开发的功能,北京专业制作网站公司吗,wordpress 离线,低价网站建设行业现状自Java 1.5推出以来#xff0c;就是否在Java中使用Marker接口进行了广泛的讨论和辩论。 这是因为Java 1.5引入了注释功能#xff0c;这些功能几乎可以解决Marker接口的目的。 本文将涵盖这场辩论的一个有趣的部分。 定义#xff1a; Java中的标记接口是一个空接口#xff… 自Java 1.5推出以来就是否在Java中使用Marker接口进行了广泛的讨论和辩论。 这是因为Java 1.5引入了注释功能这些功能几乎可以解决Marker接口的目的。 本文将涵盖这场辩论的一个有趣的部分。 定义 Java中的标记接口是一个空接口没有任何方法字段或常量。 有时也称为标记接口。 那么为什么使用Marker接口呢 有效的问题 它没有解决与定义实现该接口的类的协定的接口的目的。 这些接口定义了没有实现的方法因为它们告诉子类需要做什么但是由子类决定如何实现此方法。 但是在Marker接口的情况下没有成员。 标记接口是一种声明有关类的元数据的方法。 它告诉JVM需要以不同的方式对实现标记器接口的类的对象进行特殊处理。 Java API中定义了一些现成的Marker接口 java.io.Serializable java.lang.Cloneable java.util.RandomAccess java.util.EventListener 我们还可以像创建其他接口一样创建自己的标记接口版本。 让我们更深入地了解Cloneable接口。 当需要在Java中克隆对象时我们使用Object的clone方法。 但是请注意此方法不是Cloneable接口的一部分即当您的类默认实现Cloneable接口时将不会像其他任何标准接口一样实现clone方法。 当我们显式定义它或调用对象的clone方法时就可以完成此操作。 因此不可能仅凭借对象实现此接口的事实来克隆对象。 即使克隆方法是反射式调用的也不能保证它会成功。 public Object clone() {Object clone null;try {clone super.clone();} catch (CloneNotSupportedException e) {e.printStackTrace();}return clone; } 这里的一个关键点是当您尝试使用clone方法克隆对象时除非实现Cloneable接口否则将获得CloneNotSupportedException 。 JVM非常聪明–是吗 注意事项 如前所述除了使用内置的标记接口之外我们还可以创建特定于应用程序的标记接口因为这是标记和逻辑分类代码的一种好方法。 这在尝试创建框架或开发API时主要有用。 有趣的一点 Runnable不是Marker接口。 尽管run是对JVM启动方法的特殊指令但是Runnable不是标记接口因为Runnable内部具有公共的void run方法。 标记界面存在问题 标记接口的主要问题是接口定义了用于实现类的协定并且该协定被所有子类继承。 这意味着您不能取消实施标记。 如果创建不想序列化的子类可能是因为它依赖于瞬时状态则必须诉诸显式抛出NotSerializableException . 现在让我们回到重点。 使用注释比标记界面更好吗 为了回答这个问题让我们更详细地研究Java注释。 定义 Java注释是Java 1.5中引入的语法元数据关于数据的数据的特殊形式。 像Java类一样接口甚至注释都可以在多个Java元素上使用。 标记界面与标记注释 与Javadocs不同Annotations具有更多功能可帮助在运行时进行处理。 注释用于程序包或类声明方法声明字段声明和变量声明中。 它减少了编码工作让开发人员可以轻松开发专注于业务逻辑从而提高了自动化程度。 注释与标准Java元素之间用“ ”符号分隔。 每当编译器遇到带有任何Java元素的这些注释时它都会从注释中提取信息并自动生成代码。 注释的用途 将信息传递给编译器–用于检测错误或抑制警告。 例如 SuppressWarnings不建议使用 编译时间和部署时间处理–几种工具可以处理注释信息以生成代码XML文件等。诸如SpringHibernate之类的框架大量使用注释。 运行时处理–仅在运行时处理这些批注。 以标记接口的类似方式我们也有标记注释。 标记注释没有任何方法或元素。 该行为与Marker接口相同。 例如 Override是内置的Java Marker批注类型可以将其实现为方法以指示编译器编译器该方法将覆盖超类中的方法。 它不包含任何其他程序元素。 如果您在不覆盖超类方法的方法上使用此批注则编译器将发出编译错误以提醒您该事实。 这种注释类型可以防止程序员在重写方法时犯错误因为开发人员很可能实际上会在超类中重载方法而不是重写。 似乎批注比标记界面更好因为批注可以达到相同的效果。 它可以标记变量方法和/或类。 它可以专门标记任何类也可以通过继承标记。 标记接口将标记已标记类的所有子类。 例如如果我们必须将一个类标记为不可序列化则必须专门将其标记为瞬态。 这可能是值得商bat的因为注释不是不可子类化的可能是优点还是缺点。 注释默认情况下不会继承– isAnnotationPresent会告诉您该特定类上是否存在该注释而不是它是否存在于超类或超接口上。 因此如果您作为批注旨在提供的特殊功能的实现者希望批注的行为像继承一样则不仅要检查此类 还要检查每个超类和每个超接口的isAnnotationPresent 。 您可以将数据添加到标记中。 换句话说非空白的注释具有价值因为您所标记的不仅仅是类型。 因此他们每个人都有一定的优点和缺点我个人认为应该由开发人员来决定是否使用标记界面或标记注释因为他们必须决定考虑实际情况并判断优点和缺点。他们两个并确定最适合该要求的。 参考 是否有更好的Marker方法 从我们的JCG合作伙伴 Mainak Goswami在Idiotechie博客上获得。 标记 2012-10-30 迈纳克·高斯瓦米Mainak Goswami 翻译自: https://www.javacodegeeks.com/2012/10/is-there-a-better-approach-to-marker.html
http://www.zqtcl.cn/news/619017/

相关文章:

  • 免费建网站 手机网站深圳网站设计(深圳信科)
  • 辽宁做网站的公司工作室网站建设的意义
  • 南京网站搜索排名免费企业网站空间
  • 手机要访问国外网站如何做附近学电脑在哪里报名
  • 免费建网站哪个网好中国建设银行信用卡黑名单网站
  • 网页设计好看的网站中小型网站建设 教案
  • 优秀网站设计案例行业内做网站的公司排名
  • 个人备案网站能做商城吗长沙app制作公司哪家好
  • 成都网站建设方案优化旺道seo怎么优化网站
  • 九江县建设规划局网站wordpress多个博客
  • 绵阳住房和城乡建设局网站做服装外贸的网站
  • 福建省华荣建设集团有限公司网站建设网站西安
  • 做视频网站程序多少钱网站内链有什么用
  • 建设企业网站模板联享品牌网站建设
  • 网站建设耂首先金手指提升网站访问速度
  • 为什么备案关闭网站网站seo推广招聘
  • 建设企业网站的重要性城乡建设厅官方网站
  • 网上有做口译的网站么怎样手机做网站教程
  • 孵化器网站平台建设网站一直建设中
  • 企业网站建设的方案书网站镜像 cdn
  • 淘宝做网站的都是模板泉州模板建站公司
  • 清理网站数据库网站服务器租一个月
  • wordpress免费简约主题搜索引擎优化的英文
  • 瑞安门户网站建设怎么建设自己网站首页
  • 网站建设岗位周计划thinkphp微网站开发
  • 如何修改asp网站栏目帝国cms网站搬家教程
  • 网站建设与网页制作小团队兼职做网站
  • 嘉兴做网站的公司网红营销价值
  • scala做网站广州化妆品网站制作
  • 网站建设小组五类成员在线购物网站功能模块