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.获取私有的方法

 

 

posted @ 2018-03-21 17:50  huan欢  阅读(174)  评论(0编辑  收藏  举报