如何学习java语言从入门到精通?需要多久?

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

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

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

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

二、反射机制的作用:

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

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

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

java.lang.Class;

很多反射中的方法,属性等操作我们可以从这四个类中查询。还是那句话要学着不断的查询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反射,虽然在运用中它会使我们的软件性能降低,复杂度增加,但如果我们可以灵活的运用它,它能够使我们的代码更加灵活,总的来说利还是大于弊。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180204A07X9U00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券