Java的反射机制是什么啊?什么时候用到呢? Java的反射机制是什么啊?什么时候用到呢?我在项目开发的时候好像没怎么看到有用啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 反射机制是什么,恐怕去Google会更清晰点。用于某些模块集成场合。当你不能在开发时即得到其目标类完整接口定义,只能根据命名规则去进行集成时。并可以延伸到包装、动态代理等模式的应用中。有时候也干些hack的事情,比如绕过private保护机制啥的。用了Spring不?人家偷偷的到处用哦。 lz是女孩子。java很多东西底层实现都是反射实现的,很多开源第三方框架也都用到了java的反射思想,比如spring等。 iisgirl 突然发现 you are a girl? 不写一些底层的东西是一般情况下是用不到的,ssh这三个框架的实现基本上都用到了反射机制,不过了解了反射机制,有助于对理解这些框架的实现会深刻一些。 通过类的名称(一个字符串)去引用类的对象的一种方法,如:在jdbc中,sun只是定义了访问数据库的接口,但没有去实现他,接口的实现是由各数据库产家实现的,为了初始化数据库驱动需要使用下面的语句:Class.forName("com.mysql.jdbc.Driver");//这里com.mysql.jdbc.Driver这个类事先不知道又如:我们编写一个servlet网页,于是在web.xml中加入一个servlet配置:<servlet> <servlet-name>test</servlet-name> <servlet-class>com.ldz.test.Test</servlet-class></servlet><servlet-mapping> <servlet-name>test</servlet-name> <url-pattern>/test</url-pattern></servlet-mapping>这时servlet容器(如tomcat)就要通过web.xml中的字符串"com.ldz.test.Test"去初始化Test这个类,这就是典型的反射调用。 有没写过能用的dao?就是有些时候crud一些操作都是一样的,可以用反射写一个通用dao,之后通过继承来省去一些重复的操作,你可以试试 反射机制,简单的来说是,java程序在运行期间,可以返回关于这个类的一些相关信息。例如:类型,类的成员方法和成员属性等基本信息。通过反射机制,可以更好的在其他类中使用这个类,重要的是可以,通过反射机制,可以动态的改变类,例如,使用过滤器,抓取目标类后,可以再该类运行之前,改变它的属性。变为新的类。 打个比方啊吧 ,一般我们调用对象 都是用new 一个对象。如果你的项目成规模。要调用的对象很多或很多方法需要掉同一个对象,这时候你总不能一个个new吧。你可以直接通过反射 通过java类得名字和方法的名字就可以获得该方法的返回数据。 你用JDBC就用到的反射机制啊 spring ioc 就是基于jre的反射机制原理实现 java程序在运行期间,可以返回关于这个类的一些相关信息 关于java读取txt文件到mysql C转java,面向对象和面向过程能否共存? static的一个问题. 关于多线程的 applet 关闭问题 怎样在窗体上画矩形?我写的代码,大家帮我看一下。 刚找了个spring的例子,想做做看。。。 特急??? 为什么我用javamail无法通过身份验证!!!(付源码) 我真的是笨~~帮我啊 求助 根据PDF文件标题修改名称 jtable传一个参数怎么就不能显示了,直接传object,string就能显示 struts2+hibernate3异常:Cannot release connection
用于某些模块集成场合。
当你不能在开发时即得到其目标类完整接口定义,只能根据命名规则去进行集成时。
并可以延伸到包装、动态代理等模式的应用中。
有时候也干些hack的事情,比如绕过private保护机制啥的。
用了Spring不?人家偷偷的到处用哦。
java很多东西底层实现都是反射实现的,很多开源第三方框架也都用到了java的反射思想,比如spring等。
Class.forName("com.mysql.jdbc.Driver");//这里com.mysql.jdbc.Driver这个类事先不知道
又如:我们编写一个servlet网页,于是在web.xml中加入一个servlet配置:
<servlet>
<servlet-name>test</servlet-name>
<servlet-class>com.ldz.test.Test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
这时servlet容器(如tomcat)就要通过web.xml中的字符串"com.ldz.test.Test"去初始化Test这个类,这就是典型的反射调用。