什么是反射, Java反射的三种实现方式

您所在的位置:网站首页 java获取反射的三种方法是 什么是反射, Java反射的三种实现方式

什么是反射, Java反射的三种实现方式

2024-06-30 07:00| 来源: 网络整理| 查看: 265

Class c3=null; try { c3=Class.forName("Foo的相对路径"); } catch (Exception e) { e.printStackTrace(); } //可以使用newInstance方法创建Foo的实例对象 try { Foo foo=(Foo)c1.newInstance(); //(Foo)Foo是Foo的接口 foo.print(); }catch (Exception e){e.printStackTrace(); } 通过Foo的接口来找到Foo的类类型 然后通过newInstance()方法来初始化一个类 生成一个实例对象。 使用newInstance方法时必须保证:这个类已经加载 这个类已经连接了。完成这俩步的正是class的静态方法forName()方法 这个方法调用了启动类加载器(java api的加载器) 动态加载类 try{ Class c=class.forName(args[0]); 类名 表示名 =(接口)c.newInstance(); 表示名.方法(); }catch(Exception e){e.printStrckTrace}

 最常用的是第一种方式.

但如果只获得一个字符串,例如获得String类对应的Class对象,则不能使用String.class方式,而是使用Class.forName("java.lang.String")。注意:如果要想获得基本数据类型的Class对象,可以使用对应的打包类加上.TYPE,例如,Integer.TYPE可获得int的Class对象,但要获得Integer.class的Class对象,则必须使用Integer.class。在获得Class对象后,就可以使用表13.4中的方法来取得Class对象的基本信息



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3