`
ydbc
  • 浏览: 767187 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

提高你的Java代码质量吧:注意@ Override不同版本的区别

 
阅读更多

一、分析

@Override注解用于方法的覆写上,它在编译期有效,也就是Java编译器在编译时会根据该注解检查是否真的是覆写,如果不是就报错,拒绝编译。

该注解很大程度解决我们的误写问题,比如子类和父类的方法名少写一个字符,或者是数字0和字母O未区分出来等,这基本上是每个程序员都曾犯过的错误。在代码中加上@Override注解基本上可以杜绝出现此类问题。

二、场景

但是@Override有个版本问题,我们来看看如下代码

interface Foo{ 
    public void doSomething(); 
    } 
 
class Impl implements Foo{ 
    @Override 
    public void doSomething(){ 
 
    } 
} 

这段代码在Java1.6版本上编译没有任何问题,虽然doSomething方法只是实现了接口定义,严格来说并不能算是覆写,但@Override出现在这里可以减少代码中可能出现的错误。

可是在Java1.5版本上编译此段代码,就会出现如下错误:

the methoddoSomething() of typeimplmust override a superclass method Client.java

注意,这个错误,不能继续编译。原因是1.5版本中@Override是严格遵守覆写的定义:子类方法与父类方法必须具有相同的方法名、输入参数、输出参数(允许子类缩小)、访问权限(允许子类扩大)、父类必须是一个类、不能是一个接口、否则不能算是覆写


而在Java1.6就开放很多,实现接口的方法也可以加上@Override注解了,可以避免粗心大意导致方法名称与接口不一致的情况发生。

三、建议

在多环境部署应用时,需要考虑@Override在不同版本下代表的意义,如果是Java1.6版本的程序移植到1.5版本环境中,就需要删除实现接口方法上的@Override注解。

分享到:
评论

相关推荐

    详解Java中@Override的作用

    3. **代码规范**:在团队开发中,使用 `@Override` 可以作为良好的编码习惯,提升代码质量。 在实际开发中,应尽可能在重写父类方法时使用 `@Override` 注解,以确保代码的正确性和可维护性。如果遇到任何疑问,...

    Annotation--学习:JDK内建Annotation

    注解是自Java 5版本引入的特性,它增强了代码的可读性和可维护性,同时也简化了某些编程任务。在本篇中,我们将深入探讨JDK内置的Annotation,了解它们的用途、工作原理以及如何在实际开发中应用。 1. **注解的基本...

    java代码-Override

    - `@Override`还可以提高代码的可读性,因为它清晰地表明了哪些方法是特意为了覆盖父类而定义的。 3. **多态性(Polymorphism)**: - `Override`是实现多态性的重要方式。多态性允许我们使用父类引用指向子类...

    java学习笔记JDK6课件之十七

    Java学习笔记JDK6课件第17章主要讲解了注解(Annotation)的使用,注解是Java语言中一种非常重要的元数据机制,它允许程序员在源代码中嵌入额外的信息,...理解并熟练使用注解对于提升Java编程的效率和代码质量至关重要。

    android&java的注解详解demo

    通过`AnnotationDemo`,你可以实践上述各种注解的使用,加深对Java和Android中注解的理解,并掌握如何利用它们提高代码质量和可维护性。在实际项目中,结合注解和适当的工具,可以使代码结构更清晰,降低出错概率,...

    最全Java注解图文超详解(建议收藏).pdf

    Java注解是Java编程语言中的一个重要特性,它允许程序员在代码中添加元数据,这些元数据可以被编译器、解释器...通过深入理解注解的原理和使用场景,开发者能够更好地利用注解带来的便利,进一步提升代码质量和维护性。

    corejava12示例代码

    通过这些示例代码的学习,开发者可以更好地掌握Java的核心概念,并将其应用于实际项目中,提高开发效率和代码质量。记得实践是检验真理的唯一标准,理论学习的同时,务必动手实践,不断调试和完善代码。

    工厂方法模式Java代码

    工厂方法模式是设计模式中的创建型模式,它提供了一种创建对象的最佳方式。在这个模式中,一个工厂类...它在Java编程中广泛应用于各种场景,如数据库连接、GUI组件创建等,是理解设计模式和提高代码质量的重要工具。

    java1.5 annotation注释源代码

    Java 1.5 引入了一种新的元编程...通过深入理解注解的工作原理和使用方式,开发者可以更好地利用这一特性,提高代码质量和效率。而源代码分析则有助于我们了解注解的内部实现,为自定义注解和处理程序的开发提供基础。

    JAVA的核心技术:面向对象编程

    通过熟练掌握类、对象、封装、继承和多态,开发者可以更好地理解和应用Java的核心技术,从而提高开发效率和代码质量。在实际项目中,这些概念的应用广泛且至关重要,无论是简单的控制台程序还是复杂的分布式系统,...

    Java中的注解Annotationsnava)1

    查询语言CodeQL允许我们方便地分析Java代码中的注解。例如,可以编写查询来查找所有未使用`@Override`注解但实际覆盖了超类方法的实例。首先,我们需要找到所有的`@Override`注解,通过`getType()`和`...

    Java注解笔记源代码

    Java注解是Java编程语言中的一个重要特性,它允许程序员在代码中嵌入元数据,这些元数据可以被编译器或运行时环境用来执行各种任务,例如代码验证、简化配置、实现AOP(面向切面编程)等。注解在Java世界中扮演着不...

    Java 重写(Override)与重载(Overload).pdf

    根据提供的文件信息,我们可以深入探讨Java中的两个核心概念:重写(Override)与重载(Overload)。...这两种机制都是Java面向对象编程的重要组成部分,正确理解和使用它们对于编写高质量、高效率的代码至关重要。

    抽象工厂模式 - 代码(Java)

    设计模式的应用可以帮助开发者遵循一定的设计原则,如单一职责原则、开闭原则等,从而提高代码质量和可维护性。在Java中,抽象工厂模式尤其适用于涉及大量互相关联的对象创建,例如GUI组件的创建、数据库连接的配置...

    AndroidStudio中重载方法@Override的使用详解

    总之,`@Override` 注解在Android Studio 中扮演着至关重要的角色,它确保了方法重写的正确性,提高了代码质量和可读性。结合Android Studio提供的快捷方式,开发者可以更高效地实现方法重载,提升开发效率。在日常...

    Java注解开发

    3. **代码分析**:用于代码质量检测工具,如FindBugs。 - 示例:`@Deprecated` 表示某个元素已被废弃,不应再使用。 4. **运行时元数据**:在运行时获取元数据,如Spring框架中的依赖注入。 - 示例:`@Autowired`...

    brpc-java是baidurpc的java版本实现

    这使得brpc-java具备了良好的兼容性和可扩展性,可以适应不同场景下的需求。 2. **服务质量保障**:brpc-java提供了丰富的服务治理功能,如负载均衡、超时控制、重试策略、服务降级等,有助于提升整体系统的稳定性...

    桥接模式java示例代码

    在Java代码中,这可能表现为一个类或接口,例如`BridgeInterface`,声明了一些与业务逻辑相关的操作。 2. 具体抽象类(Concrete Abstraction): 这是抽象接口的具体实现,通常会包含对实现接口的具体引用,并实现...

    java技术手册:第六版 高清带目录可以复制粘贴

    《Java技术手册:第六版》是一本针对Java编程语言的权威指南,由安道出版社精心翻译,具有高清的页面质量,方便读者清晰查看,并且具备可复制粘贴的功能,极大地便利了学习和代码实践。本手册涵盖了Java语言的各个...

    设计模式之中介模式Java实现版本

    **设计模式之中介模式——Java实现版本** 设计模式是软件工程中的一种最佳实践,它提供了解决常见问题的标准模板。中介模式(Mediator Pattern)属于行为设计模式,它旨在降低多个对象之间的复杂交互,通过引入一个...

Global site tag (gtag.js) - Google Analytics