纠纷奇闻作文社交美文家庭
聚热点
家庭城市
爱好生活
创业男女
能力餐饮
美文职业
心理周易
母婴奇趣
两性技能
社交传统
新闻范文
工作个人
思考社会
作文职场
家居中考
兴趣安全
解密魅力
奇闻笑话
写作笔记
阅读企业
饮食时事
纠纷案例
初中历史
说说童话
乐趣治疗

Java,反射机制,反射调用,静态方法,实例方法,Sette

1月21日 藏于心投稿
  说明
  参考内容:
  1、反射机制,调用属性(静态非静态);2、反射机制,调用构造方法(静态非静态)。
  gettersetter方法
  定义一些方法来操作成员变量,每个方法都必须有一个有意义的名称,所以就有了gettersetter方法,gettersetter方法格式和写法都是固定的,所以只要有gettersetter方法就不用煞费心思的去想方法名称了,解决了起名字难问题。并且gettersetter方法还是程序员之间的一种规范,给属性赋值立刻就会想到gettersetter方法,降低了程序员之间的沟通成本。代码案例
  工具类:importorg。apache。commons。lang3。StringUimportjava。lang。reflect。Mimportjava。util。LpublicclassReflectCallMethod{paramentryClassparammethodNameparamTreturnpublicstaticTTinvokeForStatic(ClassentryClass,StringmethodName){if(entryClassnull){}Ttry{反射获取MethodmethodentryClass。getDeclaredMethod(methodName);method。setAccessible(true);return(T)method。invoke(entryClass);}catch(Exceptione){e。printStackTrace();}}paramentryClassparammethodNameparamclassArgsparamvalueArgsparamTreturnpublicstaticTTinvokeForStatic(ClassentryClass,StringmethodName,Class〔〕classArgs,Object〔〕valueArgs){if(entryClassnull){}Ttry{MethodmethodentryClass。getDeclaredMethod(methodName,classArgs);method。setAccessible(true);return(T)method。invoke(entryClass,valueArgs);}catch(Exceptione){e。printStackTrace();}}paramentryClassparammethodNameparaminitArgsparamTreturnpublicstaticTTinvokeForStatic(ClassentryClass,StringmethodName,ListObjectinitArgs){if(entryClassnull){}Ttry{Class〔〕classArgsnewClass〔initArgs。size()〕;Object〔〕valueArgsnewObject〔initArgs。size()〕;for(inti0;iinitArgs。size();i){classArgs〔i〕initArgs。get(i)。getClass();valueArgs〔i〕initArgs。get(i);}MethodmethodentryClass。getDeclaredMethod(methodName,classArgs);method。setAccessible(true);return(T)method。invoke(entryClass,valueArgs);}catch(Exceptione){e。printStackTrace();}}paramentryObjectparammethodNameparamTreturnpublicstaticTTinvokeForInstance(ObjectentryObject,StringmethodName){if(entryObjectnull){}Ttry{反射获取MethodmethodentryObject。getClass()。getDeclaredMethod(methodName);method。setAccessible(true);return(T)method。invoke(entryObject);}catch(Exceptione){e。printStackTrace();}}paramentryObjectparammethodNameparamclassArgsparamvalueArgsparamTreturnpublicstaticTTinvokeForInstance(ObjectentryObject,StringmethodName,Class〔〕classArgs,Object〔〕valueArgs){if(entryObjectnull){}Ttry{MethodmethodentryObject。getClass()。getDeclaredMethod(methodName,classArgs);method。setAccessible(true);return(T)method。invoke(entryObject,valueArgs);}catch(Exceptione){e。printStackTrace();}}paramentryObjectparammethodNameparaminitArgsparamTreturnpublicstaticTTinvokeForInstance(ObjectentryObject,StringmethodName,ListObjectinitArgs){if(entryObjectnull){}Ttry{Class〔〕classArgsnewClass〔initArgs。size()〕;Object〔〕valueArgsnewObject〔initArgs。size()〕;for(inti0;iinitArgs。size();i){classArgs〔i〕initArgs。get(i)。getClass();valueArgs〔i〕initArgs。get(i);}MethodmethodentryObject。getClass()。getDeclaredMethod(methodName,classArgs);method。setAccessible(true);return(T)method。invoke(entryObject,valueArgs);}catch(Exceptione){e。printStackTrace();}}getterandsetterparamentryObjectparammethodNameparamEreturnpublicstaticEEgetInvoke(ObjectentryObject,StringmethodName){if(entryObjectnullStringUtils。isEmpty(methodName)){}try{MethodmethodentryObject。getClass()。getDeclaredMethod(methodName);method。setAccessible(true);ObjectreturnValuemethod。invoke(entryObject);return(E)returnV}catch(Exceptionex){ex。printStackTrace();}}paramentryObjectparamfieldNameparamEreturnpublicstaticEEgetInvokeByFieldName(ObjectentryObject,StringfieldName){if(entryObjectnullStringUtils。isEmpty(fieldName)){}try{StringmethodNamegetStringUtils。capitalize(fieldName);MethodmethodentryObject。getClass()。getDeclaredMethod(methodName);method。setAccessible(true);ObjectreturnValuemethod。invoke(entryObject);return(E)returnV}catch(Exceptionex){ex。printStackTrace();}}paramentryObjectparammethodNameparamEreturnpublicstaticEEsetInvoke(ObjectentryObject,StringmethodName,Objectobject){if(entryObjectnullStringUtils。isEmpty(methodName)){}try{MethodmethodentryObject。getClass()。getDeclaredMethod(methodName,object。getClass());method。setAccessible(true);ObjectreturnValuemethod。invoke(entryObject,object);return(E)returnV}catch(Exceptionex){ex。printStackTrace();}}paramentryObjectparamfieldNameparamEreturnpublicstaticEEsetInvokeByFieldName(ObjectentryObject,StringfieldName,Objectobject){if(entryObjectnullStringUtils。isEmpty(fieldName)){}try{StringmethodNamesetStringUtils。capitalize(fieldName);MethodmethodentryObject。getClass()。getDeclaredMethod(methodName,object。getClass());method。setAccessible(true);ObjectreturnValuemethod。invoke(entryObject,object);return(E)returnV}catch(Exceptionex){ex。printStackTrace();}}theend}
  测试类:importlombok。AllArgsCimportlombok。Dimportlombok。NoArgsCimportjava。io。Simportjava。util。Dimportjava。util。HashMimportjava。util。MDataAllArgsConstructorNoArgsConstructorpublicclassUserimplementsSerializable,Cloneable{privateIprivateSprivateDatecreateT静态方法1publicstaticvoidtestCall1(){System。out。println(testCall。1);}静态方法2paramparamsMapreturnpublicstaticMapString,ObjecttestCall2(MapString,ObjectparamsMap){System。out。println(testCall。2,paramsMap);returnparamsM}静态方法paramparamsMapreturnpublicstaticMapString,ObjecttestCall3(HashMapString,ObjectparamsMap){System。out。println(testCall。3,paramsMap);returnparamsM}实例方法1publicvoidtestCall11(){System。out。println(testCall。11);}实例方法2paramparamsMapreturnpublicMapString,ObjecttestCall12(MapString,ObjectparamsMap){System。out。println(testCall。12,paramsMap);returnparamsM}实例方法3paramparamsMapreturnpublicMapString,ObjecttestCall13(HashMapString,ObjectparamsMap){System。out。println(testCall。13,paramsMap);returnparamsM}}importjava。util。Aimportjava。util。Dimportjava。util。HashMimportjava。util。MpublicclassReflectCallMethodDemo{publicstaticvoidmain(String〔〕args){静态方法调用1Objectresult1ReflectCallMethod。invokeForStatic(User。class,testCall1);System。out。println(result1isnull,result1);静态方法调用2MapString,ObjectparamsMap1newHashMap();paramsMap1。put(map,newObject());MapString,Objectresult2ReflectCallMethod。invokeForStatic(User。class,testCall2,newClass〔〕{Map。class},newObject〔〕{paramsMap1});System。out。println(result2ismap,result2);静态方法调用3MapString,Objectresult3ReflectCallMethod。invokeForStatic(User。class,testCall3,Arrays。asList(paramsMap1));System。out。println(result3ismap,result3);实例方法调用1UserusernewUser();Objectresult11ReflectCallMethod。invokeForInstance(user,testCall11);System。out。println(result11isnull,result11);实例方法调用2MapString,ObjectparamsMap21newHashMap();paramsMap1。put(map,newObject());MapString,Objectresult12ReflectCallMethod。invokeForInstance(user,testCall12,newClass〔〕{Map。class},newObject〔〕{paramsMap21});System。out。println(result12ismap,result2);实例方法调用3MapString,Objectresult13ReflectCallMethod。invokeForInstance(user,testCall13,Arrays。asList(paramsMap21));System。out。println(result13ismap,result13);setterandgetterUseruser2newUser(2,子贡,newDate());StringnameReflectCallMethod。getInvoke(user2,getName);System。out。println(methodnameget,name);Stringname2ReflectCallMethod。getInvokeByFieldName(user2,name);System。out。println(fieldnameget,name2);ReflectCallMethod。setInvoke(user2,setName,闵损);ReflectCallMethod。setInvokeByFieldName(user2,id,200);intidReflectCallMethod。getInvoke(user2,getId);System。out。println(methodnameget,id);Stringname3ReflectCallMethod。getInvokeByFieldName(user2,name);System。out。println(fieldnameget,name3);}}
投诉 评论 转载

年轻有玩五菱宏光miniEV潮改秀5月23日,宏光MINIEV年轻有玩五菱宏光miniEV潮改秀为主题的宏光MINIEV车主盛典在台州老粮坊当代美术馆上演绎别样摩登,打造盛大的新能源车主潮改盛会。活动现场,独具……vivo第一苹果垫底!Q1手机出货量三星不见踪影近日,知名市场调研机构Canalys公布了2021年第一季度的中国智能手机出货量,展示出前五名出货量最多的厂商。今年第一季度中,排名前五的厂商中,有四家都是国产厂商,其中……家用机器人全面进化来袭,科沃斯的这场云上盛宴不容错过引言堪称综艺节目的科技盛宴你见过么?3月28日科沃斯的机器人进化之夜可以引爆了整个互联网。旗舰新品震撼首发,家用机器人全面进化来袭,各类明星、达人精彩互动,直播全网观看人……鸿蒙首批用户评价出炉,差评好评都很真实!网友华为仍需努力近日来,有关鸿蒙操作系统的消息频传。前有HarmonyOSConnect品牌升级加速生态建设,后有美的IoT、魅族宣布接入鸿蒙系统深化合作。华为方面更是剧透不断,最……计算机毕业设计之Python旅游爬虫可视化功能介绍网络爬虫进行数据获取,使用python与MySql进行数据交互,使数据持久化,Flask搭建web后台,利用Echarts进行数据可视化展示。运行截图……华为P50低配版外观图曝光,首发鸿蒙OS系统,预计5月份发布华为多款P系列机型都是在3月份举行全球首发会的,例如P30是在2019年3月26日进行全球首发的,P40是在2020年3月26日通过网络方式进行全球发布的。案例华为P50也应该……vivoX60系列举办设计交流活动,创意满分,还有众多惊喜在12月18日,vivo举办了一场关于vivoX60系列的设计交流活动。本次活动可谓是亮点颇多,不仅有满满惊喜的糖会展览,还有大咖齐聚的糖会沙龙。此次,vivo希望通过这些极具……破百6。5秒!全新大众PoloGTI亮相德国慕尼黑在疫年以来欧洲首个线下汽车展德国慕尼黑车展上,大众新款PoloGTI正式亮相,炸街小钢炮能下赛道能下街道。大众PoloGTI新车在新款Polo的基础上进行打造而来,……Java,反射机制,反射调用,静态方法,实例方法,Sette说明参考内容:1、反射机制,调用属性(静态非静态);2、反射机制,调用构造方法(静态非静态)。gettersetter方法定义一些方法来操作成员变量,每……中国手机决胜巴塞罗那华米OV哪家强?丨深网作者薛芳康晓发自巴塞罗那来源腾讯深网(公号ID:qqshenwang)公号原文链接:中国手机决胜巴塞罗那:华米OV哪家强?深网巴塞罗那就是一个没有硝烟的战场。……真我gt大师探索版和opporeno5pro相比较,该如何选如果非要在这两款手机中选择一款手机进行购买,小芳我个人会更加倾向于性价比更高的真我gt大师探索版这款手机会更多一些。我给到的理由有以下几点,大家不妨参考一下。理由一:首先……山东东营低调富豪掌舵中国最大民营铜企,身价94亿山东低调富豪:掌舵中国最大民营铜企,身价94亿推荐语:东营,是山东省地级市,国务院批复确定的中国黄河三角洲中心城市、中国重要的石油基地。而且,东营由于地理位置优越,更是环……
小鹏汽车停车场记忆泊车解读单车可学习100个停车场,最大可记小鹏汽车公开热管理系统和车辆专利,可提高电池散热能力马斯克特斯拉全自动驾驶FSD套件V9升级将再推迟1周从百度搜索指数看全国两会热点关注度雷军要追梦,更要追佳人(雷军兵法之一)小身材,大能量MiniPCIe千兆光纤以太网卡结构不同性能更特斯拉在美国主要城市招聘自动驾驶测试员,必须具备国内外出差灵特斯拉Model3上月在法国新注册2111辆,低于雷诺Zoe家有艺术生特斯拉美国ModelSPlaid版起售价上调1。0万美元,1宝马沈阳大东工厂再次见证奇迹诞生机构三星折叠新机在美销量达到去年同期GalaxyNote20
蓝白小镇优质雪地靴的特点和鉴别同样是套用三年级小学生的口水诗与郦教授的却是天壤区别我与丫丫的那点事失败男人们的困境牛不喝水焉能按牛头抢劫女老板干发帽包多久小丑女妆容教程图解宋国安:如何搭建网络电话的平台,支持SIP的VOIP电话热传 什么样的防盗门方便?芭乐雅爽肤水好用吗令脸部肌肤焕发神采倒车雷达和倒车影像哪个实用

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找美丽时装彩妆资讯历史明星乐活安卓数码常识驾车健康苹果问答网络发型电视车载室内电影游戏科学音乐整形