JAVA——注解和反射
创始人
2024-05-29 05:16:24
0

 

注解的理解,引用b乎大佬的比喻,注解就像一张标签,给人贴标签是一种行为,会使一个人身上
的特性只有一部分被放大出来,但是换个角度,标签就是对事物行为的某些角度的评价与解释.

从代码的角度上看,注解就是对于代码中需要拥有某些特别意义的功能的部分代码的一张标签
加上注解(贴上标签)之后,从别人的角度看,代码(事物)就有了一个新的特性(偏见).

元注解

        定义:用来修饰其他注解的一个注解,同样也是一个标签,是一个特殊的,只用于给其他的标签进行解释的标签。

常用的元注解

        1.@Retention:表明一个注解的存活时间

                取值有三种:

                (1)RetentionPolicy.SOURCE :只在源码阶段保留,编译阶段会丢弃

                (2)RetentionPolicy.CLASS  :保留到编译进行时,不会进入JVM

                (3)RetentionPolicy.RUNTIME:保留到程序运行的时候,会进入JVM,可以在程序运行                      期间获取

        2.@Documented: 指定注解是否包含到Javadoc中去

        3.@Target:指定注解的应用场景

                取值有多种:

                 (1)ElementType.FIELD 可以给属性进行注解
                (2)ElementType.METHOD 可以给方法进行注解
                (3)ElementType.TYPE 可以给一个类型进行注解,比如类、接口、枚举

        4.@Inherited :子类会继承父类的注解

                如果一个类被@Inherited注解过的注解进行了注解的话,如果其子类没有被其他注解进                  行注解则会自动继承父类的注解

以上4个即使常见的一些元注解

常用注解

        @Override:重写,在父子类或者是借口与其实现类里面,有着参数列表类型数量相同,并且方                             法名也相同的情况下使用,在子类和实现类里面的方法上使用

        如下,定义了一个user接口,并且定义了两个方法,然后在实现类里面重写了那两个方法

public interface user {public int getx();public void setx(int x);
}
public class userA implements user{private  int x;@Overridepublic int getx(){return this.x;}@Overridepublic void setx(int x){this.x=x;}
}

        @Overload:重载,和上面的区别就是发生在同一个类内部,虽然方法名可以相同,但是参数                              列表必须不同

        @Deprecated:用于表示某个程序元素(类、函数)已过时,如下图所示 

          @SuppressWarnings:抑制编译器警告
            ....

反射机制:

        作用:动态引入类、动态调用实例的成员函数、成员变量等。

        这里需要理解解释型语言和编译型语言的区别

        解释型语言对源程序是编译和执行一次性完成,没有目标代码,因此会快很多

        编译型语言会将源程序翻译成一个可执行的目标代码

        Java程序从源码到执行文件需要经过几个步骤

        Java源码——>Java字节码——>加载类——>可执行文件

如何在源码部分又有新的东西加进去就要重新再执行一遍上面的流程,而反射的出现就是
    用来解决这个问题,不用重新编译整个项目

反射的常有API

    (1) java.lang.Class
    (2) java.lang.reflect.Method
    (3) java.lang.reflect.Field
    (4) java.lang.reflect.Constructor
    可以动态创建和使用对象,使用灵活

相关内容

热门资讯

拜将台的导游词 拜将台的导游词  我们现在就来到了拜将台。拜将台作为汉初三遗址之一,它坐落在汉中城南,是刘邦拜韩信为...
庐陵文化生态园导游词 庐陵文化生态园导游词  庐陵文化生态园位于江西省吉安市吉州区城北、赣江之滨,整个公园是利用螺子山山体...
玉林都峤山导游词 玉林都峤山导游词  作为一位尽职的导游,可能需要进行导游词编写工作,导游词可以加深游客对景点的印象,...
山西省榆次常家庄园简介导游词 山西省榆次常家庄园简介导游词  常家庄园位于榆次西南东阳镇车辋村,距榆次17.5公里。车辋由四个小自...
黄山的景点导游词 黄山的景点导游词(通用7篇)  作为一名导游,通常需要准备好一份导游词,导游词一般是根据实际的游览景...
西双版纳热带植物园导游词 西双版纳热带植物园导游词推荐  各位朋友,大家好。今天我们将游览闻名遐迩、风光绚丽的中国科学院西双版...
浙江仙华山导游词 浙江仙华山导游词  作为一名具备丰富知识的导游,通常会被要求编写导游词,导游词事实上是一种对旅游景点...
广州资政大夫祠的导游词 广州资政大夫祠的导游词  新华镇三华村,有一处资政大夫祠古建筑群,建于清同治二年(1863)  整个...
贵州万峰林导游词 贵州万峰林导游词  作为一位杰出的导游,总不可避免地需要编写导游词,导游词具有极强的实用性,涉及的知...
鸟巢导游词英文 鸟巢导游词英文范文  作为一名乐于为游客排忧解难的'导游,通常需要准备好一份导游词,导游词的主要特点...
开封包公祠导游词 开封包公祠导游词  包公祠全名“包公孝肃祠”,位于合肥市 环城南路东段的一个土墩上,是包河公园的主 ...
浙江省安吉大竹海导游词 浙江省安吉大竹海导游词  导游内容:大竹海概况→五女湖.五女船→竹龙引泉→动感影视吧→投缘池→幽泉煮...
斗篷山导游词最新 斗篷山导游词最新范文  作为一位不辞辛劳的导游,就不得不需要编写导游词,导游词是讲解当地的基本情况,...
云南省大理概况导游词 云南省大理概况导游词(精选5篇)  作为一无名无私奉献的导游,通常会被要求编写导游词,导游词是导游员...
武当山南岩宫导游词 武当山南岩宫导游词(精选12篇)  作为一名可信赖的导游人员,常常需要准备导游词,导游词具有极强的实...
合肥包公园导游词 合肥包公园导游词  包公园,位于安徽省合肥市芜湖路72号,始建于北宋嘉祐七年,是为纪念北宋著名清官包...
景点贵阳花溪公园导游词 景点贵阳花溪公园导游词  作为一位兢兢业业的旅游从业人员,时常需要用到导游词,借助导游词可以更好地宣...
孔庙导游词   孔庙导游词(一)  尊敬的各位来宾:  你们好!我受旅游、接待部门的委托,对光临名城曲阜参观游览...
石家庄驼梁景区导游词 石家庄驼梁景区导游词尊敬的各位游客:  大家好!  欢迎大家来到驼梁,我是中游旅行社的一名导游员,我...
介绍傣家竹楼导游词300 傣家竹楼是傣族固有的典型建筑。下层高约七八尺,四无遮栏,牛马拴束于柱上。上层近梯处有一露台,转进为长...