java 反射

来源:互联网 发布:mac升级系统卡住 编辑:程序博客网 时间:2024/06/14 06:10

理解反射先了解什么是类对象

什么是类对象?

答:

Java中有一个类,java.lang.Class,这个类的对象被称为一个类对象。

类对象的作用?

答:通俗的讲,一个类对象是用来保存一个类的信息,所谓的类信息,包括这个类 继承了那个类,实现了哪些接口,

有哪些属性,有哪些方法,有哪些构造方法……等等。

如何获取类对象?

答:3中方式;

1、类名.class

demo:获取User的类对象

Class u=User.class;

注:获取基本类型的类对象只能通过类型名.class来获取类对象。

Class i=int.class;

2、getClass()方法

同一类型的对象公用一个类对象,因此,对同一个类型的任何一个对象调用getClass()方法,返回的

应该是同一个类对象。故类对象比较时可以使用“==”

getClass() 主要用于通过类的对象获取类对象

3、Class.forName()方法

Class类中有一个静态方法,forName

这个方法接受一个字符串作为参数,这个字符串数表示一个类的类名,这个静态方法能够返回一个类对象。

如何通过类对象获取类的信息?

答:

getName() 获得类的名称 包括包名

getSimpleName()获得类名 不包括包名

getSuperClass() 获得本类的父类的类对象


getMethods()获取类中的方法

等等

如何使用类对象创建类的对象?

 答:

Class c=Student.class;

Student std=(Student)c.newInstance();

反射包中的常用类?

答:

Field类

Method类

Constructor类 封装了构造函数的一些信息

注:反射是一种底层技术,只适合与工具软件和框架程序的开发,在大部分不需要使用反射的场景,

没有必要为了追求程序的通用性而随意的使用,滥用反射式一个坏的编程习惯

0 0
原创粉丝点击