首页编程java编程什么是java中的元注解?java中常用注解分别是什么及汉语意思!

什么是java中的元注解?java中常用注解分别是什么及汉语意思!

编程之家2023-10-1298次浏览

大家好,如果您还对什么是java中的元注解不太了解,没有关系,今天就由本站为大家分享什么是java中的元注解的知识,包括java中常用注解分别是什么及汉语意思!的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

什么是java中的元注解?java中常用注解分别是什么及汉语意思!

java中常用注解分别是什么及汉语意思!

Annotation(注解)是JDK5.0及以后版本引入的。它可以用于创建文档,跟踪代码中的依赖性,甚至执行基本编译时检查。注释是以‘@注释名’在代码中存在的,根据注释参数的个数,我们可以将注释分为:标记注释、单值注释、完整注释三类。它们都不会直接影响到程序的语义,只是作为注释(标识)存在,我们可以通过反射机制编程实现对这些元数据的访问。另外,你可以在编译时选择代码里的注释是否只存在于源代码级,或者它也能在class文件中出现。

元数据的作用

如果要对于元数据的作用进行分类,目前还没有明确的定义,不过我们可以根据它所起的作用,大致可分为三类:

什么是java中的元注解?java中常用注解分别是什么及汉语意思!

编写文档:通过代码里标识的元数据生成文档。

代码分析:通过代码里标识的元数据对代码进行分析。

编译检查:通过代码里标识的元数据让编译器能实现基本的编译检查。

什么是java中的元注解?java中常用注解分别是什么及汉语意思!

基本内置注解

@Override java中覆写

@Deprecated的作用是对不应该在使用的方法添加注释,当编程人员使用这些方法时,将会在编译时显示提示信息,它与javadoc里的

@deprecated标记有相同的功能,准确的说,它还不如javadoc

@deprecated,因为它不支持参数

@SuppressWarnings,其参数有:

deprecation,使用了过时的类或方法时的警告

unchecked,执行了未检查的转换时的警告

fallthrough,当 Switch程序块直接通往下一种情况而没有 Break时的警告

path,在类路径、源文件路径等中有不存在的路径时的警告

serial,当在可序列化的类上缺少 serialVersionUID定义时的警告

finally,任何 finally子句不能正常完成时的警告

all,关于以上所有情况的警告

自定义注释

它类似于新创建一个接口类文件,但为了区分,我们需要将它声明为@interface,如:public@interface NewAnnotation{}............

java注解是怎么实现的

注解的使用一般是与java的反射一起使用,下面是一个例子

注解相当于一种标记,在程序中加了注解就等于为程序打上了某种标记,没加,则等于没有某种标记,以后,javac编译器,开发工具和其他程序可以用反射来了解你的类及各种元素上有无何种标记,看你有什么标记,就去干相应的事。标记可以加在包,类,字段,方法,方法的参数以及局部变量上。

自定义注解及其应用

1)、定义一个最简单的注解

public@interfaceMyAnnotation{

//......

}

2)、把注解加在某个类上:

@MyAnnotation

publicclassAnnotationTest{

//......

}

以下为模拟案例

自定义注解@MyAnnotation

1packagecom.ljq.test;

2

3importjava.lang.annotation.ElementType;

4importjava.lang.annotation.Retention;

5importjava.lang.annotation.RetentionPolicy;

6importjava.lang.annotation.Target;

7

8/**

9*定义一个注解

10*

11*

12*@authorjiqinlin

13*

14*/

15//Java中提供了四种元注解,专门负责注解其他的注解,分别如下

16

17//@Retention元注解,表示需要在什么级别保存该注释信息(生命周期)。可选的RetentionPoicy参数包括:

18//RetentionPolicy.SOURCE:停留在java源文件,编译器被丢掉

19//RetentionPolicy.CLASS:停留在class文件中,但会被VM丢弃(默认)

20//RetentionPolicy.RUNTIME:内存中的字节码,VM将在运行时也保留注解,因此可以通过反射机制读取注解的信息

21

22//@Target元注解,默认值为任何元素,表示该注解用于什么地方。可用的ElementType参数包括

23//ElementType.CONSTRUCTOR:构造器声明

24//ElementType.FIELD:成员变量、对象、属性(包括enum实例)

25//ElementType.LOCAL_VARIABLE:局部变量声明

26//ElementType.METHOD:方法声明

27//ElementType.PACKAGE:包声明

28//ElementType.PARAMETER:参数声明

29//ElementType.TYPE:类、接口(包括注解类型)或enum声明

30

31//@Documented将注解包含在JavaDoc中

32

33//@Inheried允许子类继承父类中的注解

34

35

36@Retention(RetentionPolicy.RUNTIME)

37@Target({ElementType.METHOD,ElementType.TYPE})

38public@interfaceMyAnnotation{

39//为注解添加属性

40Stringcolor();

41Stringvalue()default"我是林计钦";//为属性提供默认值

42int[]array()default{1,2,3};

43Gendergender()defaultGender.MAN;//添加一个枚举

44MetaAnnotationmetaAnnotation()default@MetaAnnotation(birthday="我的出身日期为1988-2-18");

45//添加枚举属性

46

47}

注解测试类AnnotationTest

1packagecom.ljq.test;

2

3/**

4*注解测试类

5*

6*

7*@authorjiqinlin

8*

9*/

10//调用注解并赋值

11@MyAnnotation(metaAnnotation=@MetaAnnotation(birthday="我的出身日期为1988-2-18"),color="red",array={23,26})

12publicclassAnnotationTest{

13

14publicstaticvoidmain(String[]args){

15//检查类AnnotationTest是否含有@MyAnnotation注解

16if(AnnotationTest.class.isAnnotationPresent(MyAnnotation.class)){

17//若存在就获取注解

18MyAnnotationannotation=(MyAnnotation)AnnotationTest.class.getAnnotation(MyAnnotation.class);

19System.out.println(annotation);

20//获取注解属性

21System.out.println(annotation.color());

22System.out.println(annotation.value());

23//数组

24int[]arrs=annotation.array();

25for(intarr:arrs){

26System.out.println(arr);

27}

28//枚举

29Gendergender=annotation.gender();

30System.out.println("性别为:"+gender);

31//获取注解属性

32MetaAnnotationmeta=annotation.metaAnnotation();

33System.out.println(meta.birthday());

34}

35}

36}

枚举类Gender,模拟注解中添加枚举属性

1packagecom.ljq.test;

2/**

3*枚举,模拟注解中添加枚举属性

4*

5*@authorjiqinlin

6*

7*/

8publicenumGender{

9MAN{

10publicStringgetName(){return"男";}

11},

12WOMEN{

13publicStringgetName(){return"女";}

14};//记得有“;”

15publicabstractStringgetName();

16}

注解类MetaAnnotation,模拟注解中添加注解属性

1packagecom.ljq.test;

2

3/**

4*定义一个注解,模拟注解中添加注解属性

5*

6*@authorjiqinlin

7*

8*/

9public@interfaceMetaAnnotation{

10Stringbirthday();

11}

java中的@是什么

Java

是Sun公司推出的一种新的编程语言。

这一新一代的程序设计语言在1995年

5

月推出后,

立即风行

Internet世界,成为一种

Internet上的世界语。

Java

是一种解释执行的语言,语法规则和

C++类似,能够用来开发在不同类型的计算机、电子设备和操作系统上运行的软件,时至今日,

Java

能轻易完成的"跨平台"对许多编程语言来说,依然难以做到,所谓的"一次编写,到处运行"就是对其技术特性最直接的描述。也即是说,

Java

可以在任何一种操作系统下工作,不管是Windows

9x、WindowsNT,还是SunSolaris、Linux、MacOS以及其他的平台,都可以使用相同的程序代码。用

Java

语言编写的程序叫做“Applet”(小应用程序),用编译器将它编译成类文件后,将它存在

WWW页面中,并在

HTML

文档上作好相应标记,用户端只要装上

Java

的客户软件就可以在网上直接运行“Applet”。

Java

采用了一种高级多线程技术来实现并发及实时的响应,这是先进的多媒体应用所必需的。

Java

非常适合于企业网络和Internet环境,现在已成为Internet世界中最受欢迎、最有影响的编程语言。

Java

有许多值得称道的优点,如简单、面向对象、分布式、解释性、可靠、安全、结构中立性、可移植性、高性能、多线程、动态性等。

Java

摈弃了C++中各种弊大于利的功能和许多很少用到的功能。

Java

可以运行与任何微处理器,用

Java

开发的程序可以在网络上传输,并运行于任何客户机上。现状Sun获利未饱和,但Sun公司也不否认,目前从

Java

这一开放的技术平台上,Sun还没有获得太多的利润。例如国内众多手机制造商只推出了6款

Java

手机,应用

Java

的力度远远不够。

据了解,Sun与联通结盟后,TCL已成为新的Ja-va特许制造商,负责为这一联盟提供新的

Java

手机。

而北京振戎融通通信技术有限公司也表示,他们已与Sun达成意向,由振戎融通公司出资,为向中国联通CDMA1x网提供手机的国内厂商集中采购

Java

-JTW1许可证。

报告显示,未来市场上无线

Java

手机的数量预计每年将翻一番,到2006年将从2001年的1910万部增长到5.53亿部。到2006年,无线

Java

手机预计将占全球手机出货量的83%

java里的@param什么意思啊

java中“@”大多代表注解的意思。那么@param是用来在DAO层中声明参数的注解方式。

例如:

List<News> selectByUserIdAndOffset(@Param("userId") int userId,@Param("offset") int offset,@Param("limit") int limit);

@ param标签可以归档方法或构造器的某个单一参数,或者归档类、接口以及泛型方法的类型参数。在使用@ param标签时,我们应该针对方法的每一个参数都使用一个该标签。每个段落的第一个词会被当作参数名,而余下的部分则会被当作是对它的描述。

扩展资料:

注解的语法比较简单,除了@符号的使用之外,它基本与Java固有语法一致。Java SE5内置了三种标准注解:

@Override,表示当前的方法定义将覆盖超类中的方法。

@Deprecated,使用了注解为它的元素编译器将发出警告,因为注解@Deprecated是不赞成使用的代码,被弃用的代码。

@SuppressWarnings,关闭不当编译器警告信息。

参考资料:

Java中@param注解的作用-脚本之家

关于什么是java中的元注解和java中常用注解分别是什么及汉语意思!的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

沉香如屑百科(沉香如屑百科百度)什么是java的只读属性吗?比较好的Java学习课程有哪些