首页 > 编程知识 正文

反射是人的基本活动方式,反射包括什么

时间:2023-05-06 19:52:09 阅读:162691 作者:2039

什么是反射? Java反射正在执行中。

如何获取任何类的名称、包信息、所有属性、方法、注释、类型、类加载器等以获取任何对象的属性,以及如何更改对象的属性以调用任何对象所属的类实例通过反射实现动态组装,可以降低代码的结合度的动态代理等。 过度使用反射会严重消耗系统资源。

JDK中的java.lang.Class类是为实现反射而提供的核心类之一。

获取类的方法,jvm中的类只能实例化一次

package constxiong.interview; /**class相关测试* @ authorconstxiong * @ date 2019-06-141033601:05 */public class test class { publicstaticvoicvoidmain () Class名称* @ throwsclassnotfoundexception */@ suppress warnings (' raw types ) )获取publicstaticvoidtestgetchccc的class class1=system.out.println (class1. getname ); Class class2=TestClass.class; system.out.println (class2. getname ); class class3=class.forname (const Xiong.interview.test class ); system.out.print ln (class3. getname );//一个jvm中的一种类型的Class只实例化一次,如果判断上面的Class实例,则为全部相等的system.out.println (class1==class2); system.out.println (class1==class 3; }} Class类的方法测试

package constxiong.interview; /**class类相关测试* @ authorconstxiong * @ date 2019-06-141033601336005 */public class test class { private inti=0; 公共int j=1; 调用private void t () system.out.println('testclass对象的t ) )方法); } publicstaticvoidmain (string [ ] args ) throwsclassnotfoundexception (test class method ); }/* * *如何测试class对象*/publicstaticvoidtestclassmethod ({ classtestclassclazz=test class.class; system.out.println (' clazz.getname )-- ' clazz.getName ); 获取包含//路径的类的全名(System.out.println ); system.out.println (clazz.getsimplename )-- ' clazz.getSimpleName ); //将获取类设置为System.out.println (; system.out.println (clazz.get super class )-- ' clazz.getSuperclass ); //获取父类System.out.println (); system.out.println (' clazz.is interface )-- ' clazz.isInterface ); //接口system.out.println (system.out.println (clazz.getfields )--'join ) clazz.get fields,',确定是否为//获取包含父类的公共字段System.out.println ()的公共字段; system.out.println (' clazz.getdeclaredfields )--'join ) clazz.getdeclaredfields ),'rn '; //所有字段System.out.println (; system.out.println (clazz.get methods )-- ' join (clazz.get methods )、'rn ' ) ); //父类的公共方法获取公共方法的system.out.println (' clazz.getdeclaredmethods )-- ' joired //所有字段System.out.println (; system.out.println (' clazz.getconstructors )--'join ) clazz.get constructors )、'rn ' ); //获取构建方法System.out.println (; try {clazz.newInstance ().t ); 实例化TestClass对象并调用对象中的t ()方法) catch(instantiationexceptione ) {e.printStackTrace ); }catch(illegalaccessexceptione ) {e.printStackTrace ); }}/** *由拼接数组成的字符串* @ param objs * @ params * @ return */privatestaticstringjoin (object [ ] objs,String s ) String s }return r.toString (; }

【Java面试问题及解答】整理推荐基础和语法集合网络编程,同时对Web安全设计模式框架算法和数据结构异常文件的分析和生成LinuxMySQLOracleRedisDubbo进行编程

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。