Java教程

Java基础(二)注解、反射和class对象

本文主要是介绍Java基础(二)注解、反射和class对象,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、注解

1. 解释 

不是程序本身,但是可以对程序作出解释,可以被其他程序读取。(对比注释只能被人看懂)

2. 内置注解 

(1)Override 这个方法使重写方法

(2)Deprecated 这个方法不建议使用,过时了

(3)SuppressWarnings 不给这部分显示编译错误提示

3. 元注解:

负责解释其他注释,通常用于管理自定义注释 

(1)Target 用于描述注解的使用范围

type是类,下图使在类上也有效

(2)Retention 表示该注释信息应该保存在什么级别

一共三个级别:

source表示在源码中有效

class表示直到被编译成 .class文件依旧有效

runtime 表示直到运行依旧有效 (通常用这个,包含了前两个)

(3)Document 表示是否将该自定义注解生成在 Javadoc 中

(4)Inherited 表示该自定义注解是否可以被子类继承

4. 自定义注解 

注解对代码都是没有直接影响的,需要注解处理器处理了注解后才能起到相应的作用。注解内部定义的都是参数  还是不太懂通过参数如何实现

只有注解中只有一个返回值且名字是value,使用时可以不写成 value=“111” 的形式

二、反射

1. 获取类的方法 

(1)普通类 

一个类只有一个class对象,所以上述代码输出值一样

(2)内置类 

(3)通过子类获取父类

已有子类class获得父类

(4)利用ClassLoader

2. 获得类的信息 

3. 使用 

(1)动态的创建对象 

如果想调用有参的构造函数,要先获取到该构造函数

(2)比较普通方法和反射调用方法的性能 

3. 通过反射获取泛型 

输出

4. 反射操作注解 

获得注解

输出 

输出

三、关于class对象的一些知识点 

1. 概念区分 

  • 类就是Java类
  • *class是Java类编译后的文件
  • class对象是 *class文件被加载到内存的对象

2. 哪些类型可以有class对象 

3. Java类的加载过程 

4. 类什么时候初始化 

在main()中主动引用子类:main()所在的类被初始化,然后父类初始化,然后子类初始化

5.类加载器:

Java文件被编译成 *. class文件后,类加载器将 *. class文件加载到内存中,生成class对象

(1)类加载器的类型 

(2)可加载的路径 

这篇关于Java基础(二)注解、反射和class对象的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!