仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 484|回复: 14
打印 上一主题 下一主题

[学习教程] 来看利用Java反射机制断定基础数据范例属性

[复制链接]
愤怒的大鸟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:15:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
认真的记,感觉很紧张根本就没有时间和能力,来对技术知识点进行思考。这样课下就只能对知识进行简单的理解,其实简单的理解就是记忆课堂上讲的知识点,
Java反射机制供应了一种壮大的使用程序接口来匡助我们在运转时检测和实行对象上的操纵。该机制同意程序员审阅一个未知对象,而且取得它的属性,比方对象上的办法,JavaBean的属性和承继干系等。
Java中有两品种型的值,一种是类范例,它把对象的属性界说在一个类中。类范例是面向对象布局的基础构成部分。第二品种型的值是基础数据范例。反射范例一般用于类范例,可是,实在它也能够很便利使用到Java的基础范例上。
Java中的基础范例承继自基于C的语法,个中包含boolean、byte、short、int、long、float、double、char等范例。
每个基础范例都与一个java类相干联。这些类封装在java.lang.package中,这个package默许导进一切的java源代码文件。
在java.lang包的基础数据范例包装类中,不是像界说对象那样用类(class)而是用一些特别的常量来暗示基础数据的范例(type).比方,是常量Interger.TYPE而不是类Integer暗示int范例,是Byte.TYPE常量暗示了byte范例.这类体例使得为一个未知的JavaBean创立通用的组件成为大概.
上面是一个例子片段,其感化是依据一个传来的HttpServletRequest中设置JavaBean中的值。
//thrown
Exceptionsareleftoutforeaseofreading...
Objectbean=....
BeanInfobi=Introspector.getBeanInfo(bean.getClass());
PropertyDescriptor[]pds=bi.getPropertyDescriptors();
for(inti=0;iStringname=pds[i].getName();
Stringvalue=request.getParameter(name);
if(value!=null){
Methodmethod=pds[i].getWriteMethod(
);
value=convert(value,
method.getParameterType()[0]);
method.invoke(bean,newObject[
]{value});
}
}
Convert办法中短少的代码界说以下:
publicObject
convert(Objectvalue,Classtype){
Stringname=type.getName();
if("java.lang.String.equals(name)){
returnvalue.toString();
}else
if("java.lang.Long".equals(name)||(type==
Long.TYPE)){
returnconvertToLong(value);
}else
if("java.lang.Integer".equals(name)||(type
==Integer.TYPE)){
returnconvertToInteger(value);
}else
.....
}

认真的记,感觉很紧张根本就没有时间和能力,来对技术知识点进行思考。这样课下就只能对知识进行简单的理解,其实简单的理解就是记忆课堂上讲的知识点,
灵魂腐蚀 该用户已被删除
沙发
发表于 2015-1-20 18:43:34 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
冷月葬花魂 该用户已被删除
板凳
发表于 2015-1-29 14:46:00 | 只看该作者
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
只想知道 该用户已被删除
地板
发表于 2015-2-2 16:36:31 | 只看该作者
是一种突破用户端机器环境和CPU
飘飘悠悠 该用户已被删除
5#
发表于 2015-2-2 20:43:50 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
精灵巫婆 该用户已被删除
6#
发表于 2015-2-8 04:55:58 | 只看该作者
是一种使网页(Web Page)产生生动活泼画面的语言
小女巫 该用户已被删除
7#
发表于 2015-2-10 21:51:04 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
再现理想 该用户已被删除
8#
发表于 2015-3-1 15:51:15 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
谁可相欹 该用户已被删除
9#
发表于 2015-3-2 19:41:23 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
蒙在股里 该用户已被删除
10#
发表于 2015-3-2 19:46:37 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
若天明 该用户已被删除
11#
发表于 2015-3-4 07:20:17 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
海妖 该用户已被删除
12#
发表于 2015-3-7 19:23:41 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
不帅 该用户已被删除
13#
发表于 2015-3-11 00:56:18 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
若相依 该用户已被删除
14#
发表于 2015-3-17 17:10:54 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
莫相离 该用户已被删除
15#
发表于 2015-3-24 14:04:47 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-28 19:28

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表