首页编程java编程java注解通俗易懂说明,java注解例子

java注解通俗易懂说明,java注解例子

编程之家2026-05-301010次浏览

今天给各位分享java注解通俗易懂说明的知识,其中也会对java注解例子进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

java注解通俗易懂说明,java注解例子

Java 什么是注解及注解原理详细介绍

1、注解是针对Java编译器的说明。

可以给Java包、类型(类、接口、枚举)、构造器、方法、域、参数和局部变量进行注解。Java编译器可以根据指令来解释注解和放弃注解,或者将注解放到编译后的生成的class文件中,运行时可用。

2、注解和注解类型

注解类型是一种特殊的接口类型,注解是注解注解类型的一个实例。

注解类型也有名称和成员,注解中包含的信息采用键值对形式,可以有0个或多个。

3、Java中定义的一些注解:

java注解通俗易懂说明,java注解例子

@Override告诉编译器这个方法要覆盖一个超类方法,防止程序员覆盖出错。

@Deprecated这个标识方法或类(接口等类型)过期,警告用户不建议使用。

@SafeVarargs JDK7新增,避免可变参数在使用泛型化时候警告”执行时期无法具体确认参数类型“,当然,也可以用@SuppressWarnings来避免检查,显然后者的抑制的范围更大。

@SuppressWarnings(value={"unchecked"})抑制编译警告,应用于类型、构造器、方法、域、参数以及局部变量。 value是类型数组,有效取值为:

all, to suppress all warnings

boxing, to suppress warnings relative to boxing/unboxing operations

java注解通俗易懂说明,java注解例子

cast, to suppress warnings relative to cast operations

dep-ann, to suppress warnings relative to deprecated annotation

deprecation, to suppress warnings relative to deprecation

fallthrough, to suppress warnings relative to missing breaks in switch statements

finally, to suppress warnings relative to finally block that don't return

hiding, to suppress warnings relative to locals that hide variable

incomplete-switch, to suppress warnings relative to missing entries in a switch statement(enum case)

javadoc, to suppress warnings relative to javadoc warnings

nls, to suppress warnings relative to non-nls string literals

null, to suppress warnings relative to null analysis

rawtypes, to suppress warnings relative to usage of raw types

restriction, to suppress warnings relative to usage of discouraged or forbidden references

serial, to suppress warnings relative to missing serialVersionUID field for a serializable class

static-access, to suppress warnings relative to incorrect static access

static-method, to suppress warnings relative to methods that could be declared as static

super, to suppress warnings relative to overriding a method without super invocations

synthetic-access, to suppress warnings relative to unoptimized access from inner classes

unchecked, to suppress warnings relative to unchecked operations

unqualified-field-access, to suppress warnings relative to field access unqualified

unused, to suppress warnings relative to unused code and dead code

4、注解的定义

使用@interface关键字声明一个注解

public@interface MyAnnotation1

注解中可以定义属性

String name default“defval”;

value是注解中的特殊属性

注解中定义的属性如果名称为 value,此属性在使用时可以省写属性名

例如,声明一个注解:

@Retention(RetentionPolicy.RUNTIME)

public@interface MyAnno1{

String msg();

int value();

}

java 帮我看下这几个注解是什么意思 谢谢了

你好,提问者:

看到你的问题我特意查了下:

一:Inherited注解(这段可能有问题...)

这是一个稍微复杂的注解类型.它指明被注解的类会自动继承.更具体地说,如果定义注解时使用了@Inherited

标记,然后用定义的注解来标注另一个父类,父类又有一个子类(subclass),则父类的所有属性将被继承到它的子类中.在示例7中,你会看到使用

@Inherited标签的好处.

你不需要在实现类中定义接口方法.因为使用@Inherited标记,这些都自动继承了.

二:Retention注解

Retention(保留)注解说明,这种类型的注解会被保留到那个阶段.有三个值:

1.RetentionPolicy.SOURCE——

这种类型的Annotations只在源代码级别保留,编译时就会被忽略

2.RetentionPolicy.CLASS——

这种类型的Annotations编译时被保留,在class文件中存在,但JVM将会忽略

3.RetentionPolicy.RUNTIME——

这种类型的Annotations将被JVM保留,所以他们能在运行时被JVM或其他使用反射机制的代码所读取和使用.

三:@Target:

@Target说明了Annotation所修饰的对象范围:Annotation可被用于 packages、types(类、接口、枚举、Annotation类型)、类型成员(方法、构造方法、成员变量、枚举值)、方法参数和本地变量(如循环变量、catch参数)。在Annotation类型的声明中使用了target可更加明晰其修饰的目标。

作用:用于描述注解的使用范围(即:被描述的注解可以用在什么地方)

取值(ElementType)有:

CONSTRUCTOR:用于描述构造器

2.FIELD:用于描述域

3.LOCAL_VARIABLE:用于描述局部变量

4.METHOD:用于描述方法

5.PACKAGE:用于描述包

6.PARAMETER:用于描述参数

7.TYPE:用于描述类、接口(包括注解类型)或enum声明

四:@interface

@interface是用来自定义JAVA Annotation的语法,普通的开发人员可能很少用到它,但是它的功能很强大

一般的应用程序开发人员可能从不需要定义一个注释类型,但定义我们自己的注释类型并不复杂。注释类型的定义跟定义一个接口相似,我们需要在 interface这个关键字前面加上一个@符号,即@interface。注释中的每一个方法定义了这个注释类型的一个元素,注释中方法的声明中一定不能包含参数,也不能抛出异常;方法的返回值被限制为简单类型、String、Class、emnus、注释,和这些类型的数组。方法可以有一个缺省值。

java里的注解都有哪些都有什么用处啊

注释有 3中基本类型a.标记注释--没有变量,只有名称标识。例如@annotationb.单一值注释--在标记注释的基础上提供一段数据。如@annotation(“data”)c.完整注释--可以包括多个数据成员,每个数据成员由名称和值构成。@annotation(val1="data1",val2="data2") Java中提供 3个内置注释类型a. Override,只能用于方法(不能用于类,包声明或者其他构造)作用:可以保证编译时候 Override函数的声明正确性用法:@Overridepublic void fun(){..}b.Deprecated同样只能作用与方法作用:对不应再使用的方法进行注解用法:@Deprecated public void fun{...}//它们说这个注释跟函数要同一行c.SupressWarnings可以注释一段代码作用:关闭特定的警告信息,例如你在使用泛型的时候未指定类型用法:@SupressWarnings(value={"unchecked"})..代码Java中还提供了四种元注释,专门负责注释其他的注释@Target表示该注释可以用于什么地方。可用的 ElementType参数包括:CONSTRUCTOR:构造器的声明FIELD:域声明(包括 enum实例)LOCAL_VARIABLE:局部变量声明METHOD:方法声明PACKAGE:包声明PARAMETER:参数声明TYPE:类、接口(包括注解类型)或 enum声明@Retention表示需要在什么级别保存该注释信息。可选的 RetentionPoicy参数包括:SOURCE:注释将被编译器丢掉CLASS:注释在 class文件中可用,但会被 VM丢弃RUNTIME: VM将在运行时也保留注释,因此可以通过反射机制读取注释的信息。@Documented将注释包含在 JavaDoc中@Inheried允许子类继承父类中的注释。

关于java注解通俗易懂说明,java注解例子的介绍到此结束,希望对大家有所帮助。

aion y论坛(新车型命名为 Aion Y 广汽埃安最新规划曝光)c语言函数的基本要求有哪些,c语言的一些基本知识