游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

高频面试题请讲一下Java的反射机制

  这个反射其实算是一道初级升中级的面试题,也是初级必须了解,中级必须了解并熟练使用的知识技能。
  接下来就开始聊聊吧。什么是反射?
  反射就是在程序运行状态中,对于任何一个类,都能通过特定的方式方法获取到这个类的属性和方法,并且可以对这些属性、方法进行调用。
  说白了,反射就是在程序运行时获取和执行某个类属性或方法的功能。反射具体能做些什么?
  能做的事情主要分为以下几种。
  我们默认先写好一个类:APP。java;publicclassAPP{privateIntegerid;privateStringusername;publicStringpassword;publicIntegergetId(){returnid;}publicvoidsetId(Integerid){this。idid;}publicStringgetUsername(){returnusername;}publicvoidsetUsername(Stringusername){this。usernameusername;}publicStringtoString(){System。out。print(toString);}privateStringtoString2(){System。out。print(toString2);}}获取类
  Class。forName(param)方法
  param:指定类的全路径,比如:com。test。APP,代码如下:publicstaticvoidmain(String〔〕args)throwsClassNotFoundException,InstantiationException,IllegalAccessException{ClassaClassClass。forName(com。test。APP);APPapp(APP)aClass。newInstance();}
  这里的newInstance():实例化Class,生成对象,等同于new。调用公共属性(public)
  getField(param):获取指定的公共属性,param:指定的属性名称。
  getFields():获取全部的公共属性,返回值Field〔〕数组。
  代码如下:publicstaticvoidmain(String〔〕args){try{ClassaClassClass。forName(com。test。APP);APPapp(APP)aClass。newInstance();FieldpasswordaClass。getField(password);打印结果:publicjava。lang。Stringcom。test。APP。passwordSystem。out。println(password);Field〔〕fieldsaClass。getFields();}catch(Exceptione){e。printStackTrace();}}调用私有属性
  getDeclaredField(param):获取指定的私有属性,param:指定的属性名称。
  getDeclaredFields():获取全部的私有属性。
  代码如下:publicstaticvoidmain(String〔〕args){try{ClassaClassClass。forName(com。test。APP);FieldusernameaClass。getDeclaredField(username);强制获得私有变量的访问权限username。setAccessible(true);打印结果:publicjava。lang。Stringcom。test。APP。usernameSystem。out。println(username);Field〔〕fieldsaClass。getDeclaredFields();}catch(Exceptione){e。printStackTrace();}}
  这里还涉及到一个方法,就是setAccessible(true),其作用是获得访问权限,否则无法获取这个属性。调用公共方法(public)
  getMethod(param):获取指定的公共方法,param:指定的方法名称
  getMethods():获取全部公共方法publicstaticvoidmain(String〔〕args){try{ClassaClassClass。forName(com。test。APP);MethodmethodaClass。getMethod(toString);Method〔〕methodsaClass。getMethods();执行toString()方法ObjectappaClass。newInstance();method。invoke(app);}catch(Exceptione){e。printStackTrace();}}
  这里还有一个知识点,就是如何执行获取到Method方法,在代码中也有体现,可以自行尝试一下。调用私有方法
  getDeclaredMethod(param):获取指定的私有方法,param:指定的私有方法名称。
  getDeclaredMethods():获取全部的私有方法。publicstaticvoidmain(String〔〕args){try{ClassaClassClass。forName(com。test。APP);MethodmethodaClass。getDeclaredMethod(toString2);method。setAccessible(true);Method〔〕methodsaClass。getDeclaredMethods();执行toString()方法ObjectappaClass。newInstance();method。invoke(app);}catch(Exceptione){e。printStackTrace();}}

海底世界的优秀教案设计范文教学目标:1、正确、流利、有感情地朗读课文。2、学会本课10个生字,两条绿线内的10个字只识不写。理解由生字组成的词语,会用窃窃私语景色奇异造句。3、通过朗读……老师,我想和你聊聊暑假的一天,我正在家里读书,突然,电话铃响了,我一接,竟然是我刚六年级毕业走的学生赵炀,他问我在哪儿,他说他想和我聊聊。我觉得窗外的阳光一直透射到我的心房里了,温暖无比。不过,……大班绳子体育优秀教案大班绳子体育课程的开展有利于提升幼儿们的身体素质,促进幼儿们健康成长。下面是小编推荐给大家的大班绳子体育优秀教案,希望大家有所收获。活动目标:1、有用绳子进行体育活……关于课文山雨的教学教案设计【学习目标】、认识本课个生字。、有感情地朗读课文,在读中想象课文所描绘的景色,在读中体会作者对山雨、对大自然的情感。、培养对文学作品初步的欣赏能力。【教……铁甲的造句1、滑铁卢战争中,他在杜布瓦旅当铁甲骑兵队队长。2、个人而言,我觉得这个无名机器人看着更像《铁甲威龙》里面那只。3、那是铁骑军的一个军官,并且是一个等级颇高的军官,……怒发冲冠成语造句【汉字书写】:怒发冲冠【汉语注音】:nfchnggun【成语出处】:西汉司马迁《史记廉颇蔺相如列传》:相如因持璧却立,倚柱,怒发上冲冠。【成语语法】:主谓式;……二年级音乐音乐小屋教学设计与反思及点评教材分析本课是《有效教学的探索与实践》三级子课题《优化艺术课堂教学,促进学生实践能力与创新意识的探索与研究》下的一篇教学案例,选用的教材是人民音乐出版社出版的小学音乐教材……畏惧斑斓的阅读答案我说得清自己是在哪天走向成熟的。因为打从那天起我开始畏惧美丽。我会站在一朵美艳绝伦的鲜花面前呆呆地看上一个时辰,心中涌动一股比爱深较妒淡的说不清道不明的热辣辣的感觉。台湾……人教版八年级语文落日的幻觉说课稿、《落日的幻觉》说课稿一、说教材1、课文内容:本课是一篇融文学性、知识性、科学性、哲理性于一体的科普文。文章的开始部分通过日出与日落的对比手法,描绘了日落的壮丽与神……二年数下千以内数的认识与表达教学反思数与代数的核心内容是数的概念和运算,学生已经学习了20以内数的认识和100以内数的认识,本学期将认数的范围扩展到万以内,而《千以内的认识》是从百跨入万的一个重要的衔接点也是基础……有关反义词教案在教学工作者实际的教学活动中,往往需要进行教案编写工作,借助教案可以提高教学质量,收到预期的教学效果。教案应该怎么写呢?以下是小编精心整理的有关反义词教案,仅供参考,大家一起来……苏教版方程教案教学内容:教科书第1213页,回顾与整理、练习与应用第14题。教学目标:1、通过回顾与整理,使学生进一步加深等式与方程的意义,等式的性质的理解。帮助学生理清知……
一个美丽的故事阅读理解及答案阅读短文,回答问题。一个美丽的故事有个塌鼻子的小男孩儿,因为两岁时得过脑炎,智力受损,学习起来很吃力。打个比方,别人写作文能写二三百字,他却只能写三五行。但即便这样……好事情优秀教案设计教学目标1痹擞醚的识字方法,认写生字,感受汉字的形体美。2绷私饪挝哪谌荩结合语言环境体会假使、恰好、委屈等词语的意思,并能用其中的一些词语造句。3闭确、流利、……小学语文一年级下松鼠和松果教学设计教材分析《松鼠和松果》是义务教育课程标准实验教科书语文(人教版)一年级下册第10课。课文是一篇童话,叙述了两只具有环保意识的小松鼠植树造林、维护生态平衡的故事。通过这篇课……素描表現方式單元名稱:綜合表現適用年級:三年級節數:三節單元目標:了解每一種物體皆有其特性與質感。教學特色:每次的物體安排都是老師負責,這次由學生自己帶物品,由同學做安排。……夏天幼儿饮食中的禁忌夏天来了,不少幼儿乐滋滋地吃着烤肉串,对妈妈说:真香!有味儿!好吃!边吃边吐红舌头,发出滋滋声,豆大的汗珠从额上滑落下来。于是,他们又开始嚷嚷:妈妈,热死我了!我要吃冷饮。幼儿……第7课大变革时代教案第7课大变革时代学案(1)请写出商鞅变法的主要内容。结合商鞅变法的具体措施谈谈群臣为何反对商鞅变法?(2)结合材料二和所学知识,说说商鞅变法有何影响?第7课商……四年级语文下册黄河是怎样变化的教学反思这是一篇阅读课文。介绍了黄河变化的过程,变化的原因及其治理方案,并从中受到启示:要保护好森林资源,保护好环境,否则会受到大自然的惩罚。培养环保意识,激发保护母亲河的责任感。在教……尊严优秀教案模板一、学习目标:1认识6个生字,会写14个生字。正确读写尊严、逃难等词语。2有感情地朗读课文,复述课文。3体会文中描写人物外貌、动作、语言的句子,从中感悟人物形象,懂……生活与哲学复习提纲《生活与哲学》复习提纲新人教必修四一、生活智慧与时代精神1、哲学是系统化理论化的世界观世界观:人们对整个世界以及人与世界关系的总的看法和根本观点哲学:哲……山岳的形成教学的个人反思根据新课标准的要求,《山岳的形成》这一节是作为分析认识内力作用对地表形态的影响的一个案例,目的是通过这一节的学习,学生能够明白到内力作用是如何改变地表形态的,及其对人类生产和生……千元机该怎么选?除了看价格,还有体验也十分重要点击关注,每天精彩不断!导读:千元机该怎么选?除了看价格,还有体验也十分重要!在智能手机快速发展和普及起来以后,现在手机已经成为了我们生活中最为重要的东西之一了,随着人们……如果你的电脑玩不了这个PS3游戏,说明性能还不如一台8寸掌上大家好,今天我们要在GPDWINMax超级掌机上,测试PS3版的战神2,PS3版的战神2相比PS2版画质提升了不少,那么在WINMax上运行效果如何呢?WINMax使用的……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网