java日常DAY017

反射机制的常见作用

1.动态的加载类。动态的获取类的信息(属性,方法构造器)

2.动态构造对象

3动态调用类和对象的任意方法,构造器

4.动态调用和处理属性

5.获取泛型信息

6.处理注解


获取Class对象的方式有哪些

1.通过字节码文件

2.对象的getClass()方法

3.Class类的静态方法forName(....)


反射机制动态操作方法_属性_构造器

使用反射机制获取类的名称和属性的方法

  1.获取类的名称:

   2.  获得包名+类名

(2). String getSimpleName() 获得类的名字

2.获取类的属性

(1). Field getField(String fieldName) 得到公共的属性对象

(2). Field getDeclareField(String fieldName) 得到指定名称的属性对象

(3).Field []c.getDeclaredFields() 得到所有的属性对象

使用反射机制获取方法及构造方法的方法

1 Method[] getDeclaredMethods() 得到公共的方法对象

2 Method[] c.getMethods() 得到父类及本类中的公共的方法对象

3 Method getDeclaredMethod(StringmethodName, Class …type)得到指定名称的本类中公共的方法

4 Method getMethod(String methodName,Class type)得到本类或父类中的公共的方法对象


getDeclaredFields()和getFields()方法有什么区别

getDeclaredFields()可以获取类中所有的属性,不包含继承的属性

getFields()获取类中所用public属性对象数组


简述什么是泛型?有哪些作用?

Java 中的泛型仅仅是给编译器 javac 使用的,确保数据的

安全性和免去强制类型转换的麻烦,但是一旦编译完成,所

有与泛型有关的类型全部擦除。

使用泛型直接读取泛型,是读取不到的,因为反射是操作

加载以后的类的。


注解的作用

1) 不是程序本身,可以对程序作出解释。(这一点跟注释没

什么区别)

2) 可以被其他程序(比如:编译器等)读取。(注解信息处理流

程,是注解和注释的重大区别,如果没有注解信息处理流

程,则注解毫无意义)



常见的内置注解有哪些?分别是什么作用    

1) @Override :标识方法是重写的方法

2) @Deprecated :标识的方法不建议使用

3) @SuppressWarnings:用来抑制编译时的警告信息


自定义注解的注意事项有哪些?

使用@interface 定 义 自 定 义 注 解 时 , 自 动 继 承 了

java.lang.annotation.Annotation 接口

1) @interface 用来声明一个注解

2) 其中的每一个方法实际上是声明了一个配置参数

a) 方法的名称就是参数的名称

b) 返回值类型就是参数类型(返回值类型只能是基本

类型、Class、String、enum)

c) 可以通过 default 来声明参数的默认值

d) 如果只有一个成员,一般参数名为 value

注意事项:注解元素必须要有值。我们定义注解元素时,经

常使用空字符串,0 作为默认值。

也经常使用负数(比如-1)表示不存在的含义


元注解

元注解的作用就是负责注解其他注解。在Java 中定义了 4

个标准的meta-annotation 类型,它们被用来提供对其它

annotation 类型作说明

这些类型和它们所支持的类在java.lang.annotation 包中可

以找到

1) @Target

2) @Retention

3) @Documented

4) @Inherited


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容