JDK1.5新特性:注解
相当于一种标记,加上注解就等同加上了某种标记,以后javac编译器、开发工具和其他程序可以用反射来了解这个类及各种元素上有无何种标记。有什么标记、就去干相应的事
标记可以加在:包、类、字段、方法、方法的参数以及局部变量上
java.lang包,可看到JDK中提供的最基本的Annotation
@Override 表示当前方法是覆盖父类的方法。
@Deprecated 表示当前元素是不赞成使用的(过时的)
@SuppressWarnings 表示关闭一些不当的编译器警告信息
注解也相当于一个特殊的类
注解的应用结构图:
注解类 应用了“注解类”的类 对“应用了注解的类”进行反射操作的类
@interface A{ @A class C{
} class B{ ...} B.class.isAnnotationPresent(A.class);
A a = B.class.getAnnotation(A.class);
}
元注解:为注解提供服务的注解称为~
@Retention(RetentionPolicy.RUNTIME)
它的作用:使注解一直保留到一个时期,决定注解的生命周期,默认是CLASS
RetentionPolicy是一个枚举,其中有三种取值:
取值 分别对应
RetentionPolicy.SOURCE --> java源文件
RetentionPolicy.CLASS --> class文件
RetentionPolicy.RUNTIME --> 内存中的字节码
当编译器编译java源文件时,可能会把“没用的”注解从中去掉,编译成class
当使用该类时,类加载器把class文件加载到内存中时,也会把“没用的”注解从中去掉,生成内存中的字节码
-------------------------------------------
@Retention(RetentionPolicy.RUNTIME) //指定注解生命周期
@Target({ElementType.METHOD,ElementType.TYPE}) //指定注解作用的范围
public @interface MyAnnotation {
}
-------------------------------------------
java自带的3个注解:
@Override --> SOURCE
@SupperessWarning -->SOURCE
@Deprecated --> RUNTIME
@Target(ElementType.METHOD) 注解:
指定注解的作用范围,如方法前,等
-------------------------------------------
@MyAnnotation
public class AnnotationTest {
@SuppressWarnings("deprecation")
public static void main(String[] args) {
// TODO Auto-generated method stub
System.runFinalizersOnExit(true); //过时方法
sayHello();//过时方法
if(AnnotationTest.class.isAnnotationPresent(MyAnnotation.class)){ //哪个注解在不在
MyAnnotation annotation = AnnotationTest.class.getAnnotation(MyAnnotation.class);
System.out.println(annotation);
}
}
@Deprecated
public static void sayHello(){
System.out.println("你好");
}
-------------------------------------------
JDK1.5中,Interface Type接口
Class也实现了该接口,Type更准确,包含:Class interface enum
分享到:
相关推荐
java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解...
Java注解是Java编程语言中的一个重要特性,它提供了一种元数据的方式,允许程序员在代码中插入额外的信息,这些信息可以被编译器或者运行时环境用来执行特定的任务。注解在现代Java开发中扮演了不可或缺的角色,尤其...
Java注解是Java编程语言中的一个重要特性,它允许在代码中添加元数据,为编译器、解释器或任何其他工具提供额外的信息。在Java Web服务(WebService)开发中,注解的应用极大地简化了服务的创建和配置。本文将深入...
java注解和反射的个人学习笔记
Java注解是Java编程语言中的一个重要特性,它们提供了一种元数据的方式,允许程序员在代码中插入信息,这些信息可以被编译器或运行时环境用于处理代码。注解不仅简化了开发,还增强了代码的可读性和维护性。本资料...
Java注解是Java编程语言中的一个重要特性,它允许程序员在代码中嵌入元数据,这些元数据可以被编译器或运行时环境用来执行各种任务,例如代码分析、验证、生成代码、部署等。注解提供了更加灵活和可扩展的方式来处理...
首先,我们需要理解Java注解的基本原理。注解是一种元数据,它提供了一种安全的方法来将信息附加到代码中,而不直接影响代码的执行。Java提供了内置的注解,如`@Override`、`@Deprecated`等,但自定义注解允许我们...
Java注解技术是Java平台中一个非常重要的特性,它为元数据提供了强大的支持,使得开发者能够在代码中嵌入额外的信息,这些信息可以被编译器、JVM或第三方工具读取和处理。在本视频教程中,我们将深入探讨Java注解的...
在Java编程中,注解(Annotation)是一种元数据,它提供了在代码中插入信息的方式,这些信息可以被编译器或运行时环境读取。反射(Reflection)是Java的一个强大特性,允许程序在运行时检查类、接口、字段和方法等...
### 一、Java注解概述 1. **定义**: 注解是一种声明式的编程元素,以`@`符号开头,后面跟着注解的名称。它们可以应用于类、接口、方法、变量等不同级别。 2. **预定义注解**: Java标准库提供了若干预定义注解,如`...
本篇文章将深入探讨Java注解的使用及其在实际开发中的应用。 首先,我们了解Java注解的基本结构。一个注解以`@`符号开头,后面跟着注解类型,如`@Override`或`@Deprecated`。注解可以带有参数,参数以键值对的形式...
Java注解(Annotation)是Java语言提供的一种元数据机制,用于向编译器、JVM或者第三方工具提供信息。在Java程序中,注解可以被附加到类、接口、方法、变量等元素上,用于执行代码检查、生成代码、部署等任务。本篇...
Java注解(Annotation)是Java语言的一个重要特性,它为元数据提供了强大的支持。元数据是一种描述数据的数据,它提供了一种安全的方式,使我们可以在不改变程序代码本身的情况下,向编译器或运行时环境提供额外的...
综上所述,使用Java自定义注解来拼接SQL语句是一种高效且灵活的编程方式,它可以提高代码的可读性和可维护性,同时减少错误的可能性。然而,也需要权衡其带来的性能影响,并遵循最佳实践来确保代码的质量和安全。
以上只是Java注解应用的一部分,实际上还有许多其他库和框架提供了丰富的注解,使得开发者能够更高效地编写代码。通过深入理解并灵活运用这些注解,可以显著提升开发效率,减少出错概率,同时使代码更加模块化和易于...
Java注解是Java编程语言中的一个重要特性,它允许在代码中添加元数据,这些元数据可以被编译器或运行时环境用来执行特定的操作。Java注解在软件开发中起着关键作用,它们简化了代码,提高了可维护性和可读性,同时也...
元注解是应用在其他注解上的注解,用来提供关于注解的更多信息。常见的元注解有: - `@Retention`: 定义注解的生命周期,可以在SOURCE(源码级别)、CLASS(类文件级别)或RUNTIME(运行时)。 - `@Target`: 指定...
综上所述,Java注解是一个强大的工具,它简化了代码并提供了额外的元数据信息,使得代码更加易读、易维护,并且能够与各种框架和工具进行更紧密的集成。理解并熟练使用注解对于任何Java开发者来说都是至关重要的。...
Java注解(Annotation)是Java语言的一个重要特性,它为元数据提供了一种结构化的方式。元数据是在程序代码中包含的关于程序本身的信息,但这些信息并不直接影响程序的执行。注解允许开发者向编译器、JVM或工具提供...