JAVA基础——反射

1.反射机制

反射来自物理定义

JAVA不是动态语言,但JAVA具有一个突出的动态语言机制:反射

反射的反射机制是指程序运行时动态自检的能力:

  1. 能够获得任意一个类的全部信息,包含其属性和方法
  2. 能够任意访问一个对象的属性和方法

反射能让你执行一些正常情况下无法实现的操作:

  1. 访问私有属性和私有方法
  2. 不通过new关键字,而通过类名来实例化对象

2.JAVA反射API

 JAVA反射API在:java.lang.reflect包下,常用有四个:

  1.  Class:表示反射的核心类
  2. Method:表示类的方法
  3. Filed:表示类的属性
  4. Constructor:表示类的构造方法

3.获取calss对象 

4.获取calss对象 一系列信息,如:

1.获取类名

2.获取类的修饰符

3.获取父类

5.通过反射来创建对象

1.创建对象方式一:newInstance():适用于无参构造

2.创建对象方式二:getConstructor():适用于所有公共的构造

3.创建对象方式三(类的构造方法私有时) 暴力获取构造getDeclaredConstructor():适用于所有构造

6.用Field访问属性

1.从class对象中获取类的属性

2.访问对象中的该属性

7.用Method调用方法

1.从class对象中获取类的方法

 

2.调用对象中的该方法

8.获取有参、私有的方法

1、获取有参的方法

2.获取私有的方法

原文地址:https://www.cnblogs.com/huan-guo/p/8618574.html