##############################################
动态获取字段和暴力访问
string classname = "cn.itcast.domain.person"; class clazz = class.forname(classname); string fieldname = "age"; //获取age字段对象。 // field field = clazz.getfield(fieldname);//获取是公共的字段。 field field = clazz.getdeclaredfield(fieldname); // getxxx:获取都是类中公共的成员。 // getdeclaredxxx:获取本类中已有的成员。 // system.out.println(field); //对其进行值的设置,必须先有对象。 object obj = clazz.newinstance(); //通过查找父类accessiableobject的方法。setaccessiable(true); field.setaccessible(true);//取消权限检查,暴力访问。一般不访问私有。 field.set(obj, 30);//illegalaccessexception:age字段是私有的。 system.out.println(field.get(obj));
##################################################
获取方法
##person.java … public void show(string name,int age){ system.out.println("show run...name="+name+",age="+age); } public static void staticshow(){ system.out.println("static show run"); } ...
## public static void getmethoddemo2() throws exception { string classname = "cn.itcast.domain.person"; class clazz = class.forname(classname); string methodname = "staticshow"; method method = clazz.getmethod(methodname, null); method.invoke(null, null); } public static void getmethoddemo() throws exception { string classname = "cn.itcast.domain.person"; class clazz = class.forname(classname); string methodname = "show"; method method = clazz.getmethod(methodname, string.class,int.class); object obj = clazz.newinstance(); method.invoke(obj, "wangcai",20); }
如对本文有疑问, 点击进行留言回复!!
unity的错误解决办法:NullReferenceException: Object reference not set to an instance of an object;tiny proje
Hadoop 之 HDFS (HDFS 数据流的 读写 流程)
听说你一读Spring源码就懵逼?我帮你把架子搭好了,你填就行!
首席架构师推荐:金融保险领域数字化转型实践--如何优雅地修改业务中台中分层应用Maven多模块的版本号?(命令导入式)
[JVM学习之路]一、初识JVM,了解其结构、模型及生命周期
网友评论