java反射机制面试题及答案整理,java反射面试题

大家对于java反射机制应该都是很了解的吧,那么下面要给大家分享的就是一组和java反射机制有关的java面试题,下面一起来看看java反射面试题都有哪些吧!

java反射机制面试题:

1、java反射机制的作用是什么?

答案:在运行的时候构造任意一个类的对象;在运行的时候判断任意一个对象所属的类;在运行的时候任意调用一个对象的方法;在运行的时候判断任意一个类所具有的成员变量以及方法。

2、反射机制的优点和缺点是什么?

java反射面试题

3、反射机制是什么?

答案:反射是在运行状态当中,对于任意一个类,都可以知道这个类的所有属性和方法,对于任意一个对象,都可以调用它的任意一个方法和属性,这样的动态获取的信息以及动态调用对象的方法的功能被叫做java语言的反射机制。

具体的大家可以通过下文来进行了解-什么是java反射?java反射机制详解

4、哪里要用到反射机制?

答案:很多的框架都是需要用到反射机制的,例如hibernate、struts等等,都需要用到反射机制来实现。

5、java反射机制原理

答案:具体的大家可以通过下面的文章来了解-java反射原理是什么?java反射机制原理详解

6、怎样去使用使用java的反射?

答案:通过class对象获得一个属性对象,(1)Field c=clz.getFields():获得某个类的所有的公共(public)的字段,包括父类中的字段;(2)Field c=clz.getDeclaredFields():获得某个类的所有声明的字段,即包括public、private和proteced,但是不包括父类的申明字段 。

获取构造器对象,通过构造器new出一个对象,(1)Clazz.getConstructor([String.class]);(2)Con.newInstance([参数]);。

通过class对象获得一个方法对象,(1)Clazz.getMethod(“方法名”,class……parameaType);(只能获取公共的)(2)Clazz.getDeclareMethod(“方法名”);(获取任意修饰的方法,不能执行私有)(3)M.setAccessible(true);(让私有的方法可以执行)。

通过一个全限类名创建一个对象,(1)Class.forName(“全限类名”); 例如:com.mysql.jdbc.Driver Driver类已经被加载到jvm当中,并且完成了类的初始化工作就成(2)类名.class; 获取Class clz 对象(3)对象.getClass();。

让方法执行,(1)Method.invoke(obj实例对象,obj可变参数);-----(是有返回值的)。

通过class对象创建一个实例对象(就相当与new类名()无参构造器)(1)Clazz.newInstance()。

具体体现:

通过.class

// 第一种 获取到类对象
Class class1 = Person.class;

通过包名,调用class的forName方法

Class class3 = Class.forName("day07.Person");

通过创建实例对象来获取类对象

Person person = new Person();
Class class2 = person.getClass();

java反射机制面试题及答案就给大家整理这些内容了,你还想了解更多的java面试题吗?欢迎继续关注奇Q工具网来了解哦。

推荐阅读:

微服务面试一般问什么?java微服务面试题以及答案整理

java springboot框架面试题,springboot常见面试题整理

2020全网最全Java面试题-qqe2