大家好,今天小编关注到一个比较有意思的话题,就是关于j***a语言的注释的是的问题,于是小编就整理了4个相关介绍j***a语言的注释的是的解答,让我们一起看看吧。

  1. target注解作用?
  2. 注解是什么意思?
  3. Java中的注解到底是如何工作的?
  4. java中注解方式是否是侵入?

target注解作用?

Target作用于修饰的注释可以修饰的类型范围。

java语言的注释的是-java语言注释分别有
(图片来源网络,侵删)

target英文有目标、目的的意思。@Target在j***a中是注释类。@Target作用于修饰的注释可以修饰的类型范围。

Target包含一个ElementType[]元素类型的数组。ElementType[]数组值value,表明Target修饰的注释可以修饰的类型范围。ElementType枚举值包含方法、属性、类等等。

java语言的注释的是-java语言注释分别有
(图片来源网络,侵删)

注解是什么意思?

注解是一种特殊的字符串,它可以在J***a代码中加入额外信息。它也是一种标记,可以让程序员或者开发者更好的理解某些问题,并且会影响代码的运行。 

注解有很多种,例如@Override,它表示重写了父类的方法;@Deprecated,它表示此方法已经过时不建议使用;@SuppressWarnings,它表示忽略特定的警告。 

java语言的注释的是-java语言注释分别有
(图片来源网络,侵删)

注解能够提高代码的可读性,让开发人员更易于理解代码的功能,也有利于检测代码的错误。

J***a中的注解到底是如何工作的?

什么是注解

注解是在J***a5.0版本中被引入,其目的是用于描述数据,我们可以把他当作标签,每加上一个注解就相当于给类/方法/字段贴上来标签,而标签的作用我们很明白,通过标签我们可以知道这个类/方法/字段是做什么的。

为什么使用注解

在程序开发中,如果我们看到@Override,我们是很容易理解它的作用就是对实现方法的重写,而这也达到设计之初的目标,即描述数据。

继续以Override为例子,我们在实现父类方法的时候通常会带上该注解,但是我们不带也不会对运行有任何影响,但是如果我们把注解放到非实现的方法上,编译就会报错。也就是说注解会告诉编译我是做什么的,如果我做的和预期不一样,那么编译器会对我们程序进行纠错,即对不合注解含义的业务进行处理(这个处理不是注解去处理,只是看上去像是注解的作用)。

注解如何工作

对于@Override使用在非父类方法上编译报错的情况,我们最初接触的时候可能会认为这些报错的作用是注解的作用,但是实际上并不全是,这是因为注解仅仅是标签亦或者说是元数据。他的作用一开始仅仅是为类描述数据,而后衍生出来的各种功能是由前端编译器在编译成class的时候会有一个专门的注解处理器,是他在编译过程中对诸多注解,如@Override,会有专门的代码完成@Override标志的业务逻辑。简单的说,注解只是标签,而标签具有的功能是由前端编译器

在生成语法树之后有专门的代码去实现。

如果我们有使用自定义注解的经验,我们会发现如果我们单单定义一个注解放在类/方法/字段上,那么它只有一个标签的效果,并没有什么实际的意义,比如我们自定义NotEmpty注解,表达不能为空,我们将其注解加入到字段上,即使传空也没有任何问题,这是因为没有相应业务的支持。如果想要达到想要的效果,我们就需要专门写业务逻辑去实现这个NotEmpty功能

希望我的回答能对您有所帮助。

j***a中注解方式是否是侵入

谢邀,作为一个J***a软件工程师对这个问题有自己的见解。

先搞清楚侵入性的概念

当你的代码引入了一个组件,导致其它代码或者设计,要做相应的更改以适应新组件.这样的情况我们就认为这个新组件具有侵入性。

显然,如果设计的代码对原有代码逻辑有代码侵入的话,是一个糟糕的设计方式。什么是侵入性?个人认为就是一旦你这段添加的代码出现异常对原本的代码会有极大影响,那你这段代码侵入性就太明显了。

而注解对代码是否有侵入性呢?

要知道注解是从老版jdk就有的一个语法特性,目前广泛运用在各大框架中间件的开发中,比如我们最常用的spring框架,编程时service和autoware等注解几乎是必用的。如果说注解式编程对代码有过度侵入性,我想甲骨文公司也不会去创造注解这种东西。显然,注解本身并不会对代码造成侵入,反而他的设计是为了解耦合,通过代理等方式将需要引入的组件添加到原逻辑中。

但是注解一定不会侵入吗?

答案是否定的,注解本身其实不用纠结会不会侵入,而是对注解使用过程中的开发者,是否会写出侵入性极强的代码。用注解完全可以写出侵入式的代码,比如在写spring的aop时,后置处理的代码有bug,那必然会导致原逻辑不能正常进行,这就是一种侵入,而且还影响很大。


宇文哥习惯性总结:注解是一件利器,用的好代码可以低耦合,用的不好,就会造成侵入性极强,没有最好的技术只有更好的编码者。

关注@极客宇文氏 一名热心有料的J***a软件工程师。

到此,以上就是小编对于j***a语言的注释的是的问题就介绍到这了,希望介绍关于j***a语言的注释的是的4点解答对大家有用。