千锋教育-做有情怀、有良心、有品质的IT职业教育机构

位置:首页 > 学员动态

千锋武汉Java培训学员总结 合理运用反射让代码加灵活

时间:2018-02-02 15:28:39  |  来源:千锋教育  |  作者:alents

   在千锋武汉Java培训已经进入到第二阶段了,这一阶段让我印象深的就是反射这个知识点。以前就听说过反射,自己也看过一些资料,在之前的设计模式中也使用过,但还是感觉对它没有一个较深入的了解,通过这次的学习,感觉自己对反射的认识深了!

  一,先看一下反射的概念:

  主要是指程序可以访问,检测和修改它本身状态或行为的一种能力,并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。

  反射是Java中一种强大的工具,能够使我们很方便的创建灵活的代码,这些代码可以再运行时装配,无需在组件之间进行源代码链接。但是反射使用不当会成本很高!

  二,反射机制的作用:

  1,反编译:.class-->.java

  2,通过反射机制访问Java对象的属性,方法,构造方法等;这样好像容易理解一些,下边我们具体看怎么实现这些功能。

图片1.png

  三,在这里先看一下sun为我们提供了那些反射机制中的类:

  java.lang.Class;

  java.lang.reflect.Constructor; java.lang.reflect.Field;

  java.lang.reflect.Method;

  java.lang.reflect.Modifier;

  很多反射中的方法,属性等操作我们可以从这四个类中查询。还是那句话要学着不断的查询API,那才是我们好的老师。

  四,具体功能实现:

  1,反射机制获取类有三种方法[size=18.6667px]

  2,[size=18.6667px],创建对象:获取类以后我们来创建它的对象,利用[size=18.6667px]new[size=18.6667px]Instance[size=18.6667px]:[size=18.6667px] 3,获取属性:分为所有的属性和指定的属性:

  a,先看获取所有的属性的写法

  b,获取特定的属性,对比着传统的方法来学习:

  这样我们就可以获得类的各种内容,进行了反编译。对于Java这种先编译再运行的语言来说,反射机制可以使代码加灵活,加容易实现面向对象。

  这样的好处是很容易的方便我们变换数据库,例如我们将系统的数据库从SQL Server升级到Oracle,那么我们写两份D层,在配置文件的内容改一下,或者加条件选择一下即可,带来了很大的方便。

  当然了,Java中其实也是一样,只不过这里的配置文件为.properties,称作属性文件。通过反射读取里边的内容。这样代码是固定的,但是配置文件的内容我们可以改,这样使我们的代码灵活了很多!

  通过在千锋武汉Java培训的第二阶段中,我觉得对于Java反射,虽然在运用中它会使我们的软件性能降低,复杂度增加,但如果我们可以灵活的运用它,它能够使我们的代码加灵活,总的来说利还是大于弊。

上一篇:千锋武汉Java培训学员感言 养成编程思维让我受益匪浅
下一篇:千锋HTML5培训学员实力出众 面试即斩获15Koffer

新开班信息

  • 武汉 Java培训班 06.11 抢座
    武汉 HTML5培训班 05.14 抢座
    武汉 Python培训班 05.07 抢座
    武汉 Java培训班 04.23 抢座
    武汉 HTML5培训班 04.16 抢座
    武汉 Python培训班 03.26 开班
    武汉 Java培训班 03.19 开班
    武汉 HTML5培训班 03.19 开班
    武汉 HTML5培训班 03.05 开班
    武汉 Python培训班 02.26 开班
    武汉 Java培训班 01.15 开班
企业之声 more >
  • 人事专员
    【北京博彦科技有限公司】人事专员

    技术方面,千锋的学员理论和实践相结合,既懂得功能实现的原理,又能股自己动手实现,技术能力是符合我公司对专业技术人员的需求的。

  • 人事专员
    【北京惠博科技有限公司】人事专员

    千锋的额技术能力,我们公司的面试官都是很认可的,能够满足我公司对此类人才的需求。

  • 人事专员
    【北京联想有限公司】人事专员

    千锋毕业的学员很不错,能够满足我公司对中级工程师的需求。

武汉校区咨询电话

027-65523826

0元入学 线上咨询 申请试听
  • 西安南二环校区:西安市二环南路西段60号永安大厦4层
    西安科技园校区:西安市高新六路52号立人科技园C座西区4层
    咨询电话:029-85260160 029-85261030 029-85260960
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 北京天丰利校区:北京市海淀区宝盛北里西区28号天丰利商城4层
    北京沙河校区:北京市昌平区沙阳路18号北京科技职业技术广场服务楼2层、南区服务楼2层
    咨询电话:400-654-7778 010-82790226-801
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训、好程序员特训营
  • 深圳科技园校区:深圳市南山区科苑南路高新技术产业园R3-B栋5层
    深圳大学城校区:深圳市南山区留仙大道1201号大学城创客小镇16栋2楼、3楼
    深圳西部硅谷校区:深圳市宝安区宝安大道5010号深圳西部硅谷B座A区605-619
    咨询电话:0755-86681178/9-801
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、好程序员特训营、UI课程培训
  • 上海地址:上海市宝山区同济支路199号智慧七立方3号楼2-4层
    咨询电话:400-627-7899 021-65025129-602
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、好程序员特训营、UI课程培训
  • 郑州地址:郑州市金水区纬五路21号河南教育综合楼(经纬中学楼)6/7/8层
    咨询电话:0371-55911950 400-654-7778
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训
  • 广州地址:广州市天河区元岗路310号智汇park创意园E座5层
    咨询电话:020-22119207 400-654-7778
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 大连地址:大连市甘井子区软件园路2号B8座二楼
    咨询电话:0411-39026086 400-654-7778
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 武汉地址:武汉市东新区光谷大道77号金融港B26栋9楼
    咨询电话:027-59905902 027-59905908 027-59905909
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 成都地址:成都市武侯区科华北路62号力宝大厦N(北楼)18楼
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训
  • 杭州地址:浙江省杭州市江干区九堡旺田书画城A座4层
    咨询电话:0571-86893632 010-82790226/7-801
    面授课程:iOS课程培训、Android课程培训
  • 青岛校区地址:青岛市市南区金坛路17号青岛职业技术南校区实训楼A4层
    咨询电话:0532-80910752/3 010-82790226/7-801
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 了解千锋动态
    关注千锋教育服务号

  • 扫码关注千锋互联
    身边的移动开发导师