1、Override 强制检查子类的方法重写
java 代码
- package com.test;
-
- public class OverrideTest {
-
- @Override
- public String toString()
- {
- return "This is override";
- }
-
- public static void main(String[] args) {
-
- OverrideTest ot = new OverrideTest();
- System.out.println(ot.toString());
- }
-
- }
如下如果不小心把toString()写成了ToString(),则会通不过编译
java 代码
- package com.test;
-
- public class OverrideTest {
-
- @Override
- public String ToString()
- {
- return "This is override";
- }
-
- public static void main(String[] args) {
-
- OverrideTest ot = new OverrideTest();
- System.out.println(ot.toString());
- }
-
- }
2、Deprecated 过时的,不建议被使用的
java 代码
- package com.test;
-
- import java.util.Date;
-
- public class DeprecatedTest {
-
- @Deprecated
- public void doSomething()
- {
- System.out.println("do something");
- }
- public static void main(String[] args) {
- DeprecatedTest dt = new DeprecatedTest();
- dt.doSomething();
- Date date = new Date();
- date.toLocaleString();
- }
-
- }
此时,第14行和第16行都会被划上线条,表示doSomething方法和toLocalString方法不建议被使用 。并且第16行前端有个警告符号。过时的或不建议被使用的方法被调用时是否出现警告,需要在IDE中设置:
window->preferences->java->compiler->Errors/Warnings->Deprecated and restricted API
将其中的两个复选框选中即可。
java 代码
- package com.test;
-
- public class SubDeprecatedTest extends DeprecatedTest {
-
- @Override
- public void doSomething()
- {
- System.out.println("do something in subscribe class");
- }
- public static void main(String[] args) {
- SubDeprecatedTest sdt = new SubDeprecatedTest();
- sdt.doSomething();
- }
-
- }
其中第6行出现警告符号
3、SuppressWarnings 压制某些不必要的警告,压制一个或多个警告
语法: @SuppressWarnings("unchecked") 或者 @SuppressWarnings ({"unchecked","deprecation"})
java 代码
- package com.test;
-
- import java.util.Date;
- import java.util.Map;
- import java.util.TreeMap;
-
- public class SuppressWarningsTest {
-
- @SuppressWarnings("unchecked")
- public static void main(String[] args) {
-
- Map map = new TreeMap();
- map.put("hello", new Date());
-
- System.out.println(map.get("hello"));
- }
-
- }
java 代码
- package com.test;
-
- import java.util.Date;
- import java.util.Map;
- import java.util.TreeMap;
-
- public class SuppressWarningsTest {
-
- @SuppressWarnings({"unchecked","deprecation"})
- public static void main(String[] args) {
-
- Map map = new TreeMap();
- map.put("hello", new Date());
-
- System.out.println(map.get("hello"));
-
- DeprecatedTest dt = new DeprecatedTest();
- dt.doSomething();
- }
-
- }
分享到:
相关推荐
- `@NonNull`(非JDK内建,但常见于库如JSR 305): 表示变量或参数不应为null,某些IDE和静态分析工具会使用此信息进行检查。 3. **注解的工作原理** 注解信息被编译器保存在字节码文件中,可以通过反射API访问。...
1. **定义和使用**:从 JDK5.0 开始,Java 提供了定义和使用自定义 Annotation 的能力。这包括定义 Annotation 类型的语法、声明 Annotation 的语法,以及读取 Annotation 的 API。Annotation 不直接改变代码的执行...
标题 "JDK1.5的annotation" 指的是Java Development Kit 1.5引入的注解(Annotation)特性。注解是一种元数据,它提供了在代码中嵌入信息的方式,这些信息可以被编译器或Java虚拟机(JVM)在编译时或运行时读取和...
JDK9及以上版本没有javax.annotation-api-***.jar包 ,无法使用注解:@Resource JDK新特性,高版本JDK没有自带的javax(java扩展包)了。或者是使用的JDK不完整。 下载javax.annotation.jar包,导入到lib文件夹下,...
Java注解(JDK5)是Java编程语言中的一个重要特性,自Java 5版本开始引入。注解(Annotation)提供了一种元数据的形式,允许程序员在代码中嵌入额外的信息,这些信息可以被编译器、JVM或者专门的处理工具在编译时或...
Annotation(注解)是Java编程语言的一个重要特性,自JDK 1.5引入以来,逐渐成为编写可维护和可扩展代码的关键工具。注解提供了一种方式,使得程序员可以在代码中添加元数据(metadata),这些数据不直接影响代码...
【Annotation技术】是Java语言中的一个重要特性,引入于JDK5,主要目的是为程序元素(如包、类、方法、变量等)添加元数据,即附加信息,这些信息可以被编译器、IDE工具或者运行时系统使用。Annotation不会直接改变...
Java Annotation(注解)是自JDK 5.0开始引入的一种元数据,它提供了一种安全、非侵入式的方式来向编译器、虚拟机或者其他的工具提供关于代码的信息。这种信息可以用来进行编译时检查、运行时处理、代码生成等。注解...
标题中的“异常解决:错误:namespace element 'annotation-config' … on JDK 1.5 and higher”涉及的是在Java开发过程中遇到的一个错误,特别是在使用Spring框架时可能会遇到。这个错误通常表明在JDK 1.5及更高版本...
javax.annotation-api-1.2.jar包,注解,声明,@Resource是做bean的注入使用。
JDK1.8允许使用方法引用来简化代码,特别是当需要传递一个方法作为参数时。这减少了创建匿名内部类的需要,使得代码更加简洁。 5. **Date和Time API的增强** Java 8对日期和时间的处理进行了彻底的改造,引入了`...
9. **反射与注解**:`java.lang.reflect`包中的反射API以及`java.lang.annotation`包中的注解机制,源码可以帮助理解这两者的底层实现。 10. **安全管理**:`java.security`包中的类和接口,如`SecurityManager`,...
**Annotation** 是Sun Microsystems(现已被Oracle收购)在发布JDK 5.0时新增的重要特性之一。这种特性允许开发者在代码中添加元数据,即用来描述其他代码的数据。Annotation可以应用于类、方法、参数等多种Java程序...
虽然不是直接与注解相关的特性,但JDK8引入的`Optional`类与注解一起使用时,可以增强代码的可读性和健壮性。`Optional`用于表示可能为空的值,避免了空指针异常。在注解中,它可以用来标记某些参数或返回值可能缺失...
同时,增加了`javax.annotation`包,提供注解处理的基础设施,使得开发人员能够创建自定义的注解处理器。 此外,JDK1.6.0_10还对Java运行时性能进行了多方面的优化,包括编译优化、内存分配优化和线程调度优化等。...
配置JDK 1.8.0_231环境变量是使用这个软件包的关键步骤。通常,你需要设置`JAVA_HOME`变量指向JDK的安装目录,并将`PATH`变量扩展到包含`bin`子目录,这样系统就能在任何地方执行Java命令,如`javac`(编译器)和`...
2. 授予权限:在终端中,使用`chmod +x jdk-6u45-linux-x64.bin`命令赋予可执行权限。 3. 运行安装:使用`./jdk-6u45-linux-x64.bin`启动安装程序。它会创建一个解压后的目录结构,通常在 `/usr/local/java` 或...
JDK文档会介绍标准注解(如@Override、@Deprecated)以及自定义注解的创建和使用。 **7. 并发编程** Java提供了丰富的并发工具,如ExecutorService、Semaphore、CyclicBarrier等,以支持高效的多线程编程。文档会...