Java中的反射机制

1、什么是反射?

Java语言的反射机制是通过Java对象动态获取类的信息及动态调用对象的方法。

l    反射API的基本原理是Java类和运行时对象知道关于它们自己的信息,通常用于开发复杂的应用程序,如JavaBean、可视化开发环境、分布式调试器等。

 

2、JAVA的反射机制能实现什么功能?

在运行时断任意一个对象所属的类;

获取类的信息,如类的方法、构造方法、超类、修饰符、成员变量、常量;

在运行时构造任意一个类的对象;

在运行时判断任意一个类所具有的成员变量和方法;

在运行时调用任意一个对象的方法;

生成动态代理。  

3、反射在哪个包中?

java.lang.reflect包中

4请说说下列类的功能:

1 Class类:代表一个类。

此类的对象表示当前正在JVM中执行的类和接口。

Class类没有构造方法,它是Object类的扩展类,且从Serializable实现

方法

假定有一个类:Student,对象:stud,创建Class:

Class c = stud.getClass();

查找Student的超类:

Class superClass = c.getSuperClass();

编译时知道类名,获取Class对象:

Class c = Sudent.class;

编写时不知道类名,获取Class对象:

Class c = Class.forName(strName)

2         Field类:类的成员变量。

该类用来获取有关类中所定义的字段的信息

主要方法如下:

Object get(Object obj) :返回指定对象字段的值.

long getLong(Object obj) :获取基本类型的静态或实例字段的值。

 int getModifiers():返回字段的 Java 语言修饰符。 

String getName():返回字段的名称

Class<?> getType() :返回字段的声明类型。

 boolean isEnumConstant():如果此字段表示枚举类型的元素,则返回 true;否则返回 false

void set(Object obj, Object value) :将指定字段设置为指定的新值。

3         Method类:类的方法。

该类用于查找和访问类或接口中所定义的公有类方法和实例方法,也可在运行时动态调用其中的方法。

Method类是AccessibleObject类的扩展类, Member接口实现

主要方法:

 int getModifiers() :以整数形式返回方法的 Java语言修饰符。

 String getName() : String形式返回方法名称。

 Class<?> getReturnType():返回方法的返回类型。

 int getModifiers():返回方法的 Java 语言修饰符。

Class<?>[] getExceptionTypes():返回方法抛出的异常类型

 

Constructor类:类的构造方法。

访问和收集Class对象的构造方法的有关信息。Constructor类是AccessibleObject类的扩展类,Member接口实现。

主要方法如下:

int getModifiers():  以整数形式返回构造方法的 Java语言修饰符

 String getName():以字符串形式返回此构造方法的名称。

 Class<?>[] getParameterTypes():
     
返回一组 Class 对象,这些对象表示构造方法的形参类型

4       Array类:提供动态创建数组及访问数组元素的静态方法。

Array类是Object类的扩展类。动态创建和访问数组。

newInstance():创建新数组

get():获取给定索引处的对象

set():将给定索引处的元素设置为给定对象

 

4、什么是泛型?

将原本确定不变的数据类型参数化。其本质是参数化类型,即所操作的数据类型被指定为一个参数。

5、 泛型的好处什么?

好处:提高Java应用程序的类型安全、可维护性、可靠性

泛型类

        由类型参数修饰的类称为泛型类

        格式:数据类型<类型参数>

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值