for java beginner-18 JAVABEAN规范-1

018-JAVABEAN规范-1

[color=red]IntroSpector->中文意思是 检查,做内窥镜等,反正就那意思
翻译过来叫 内省 ,风牛马

什么是JAVABEAN?

有一定规则的JAVA类

只要是JAVABEAN,就可以把它当普通类来使用
但是普通类不一定可以当JAVABEAN来使用

很多事情用 普通类都可以做,为什么要用JAVABEAN呢???
当然当然当然是为了方便嘛,肯定有好处才用的
尤其是在J2EE里,N多地方用JAVABEAN,EL....
没有选择,跟大流,否则自己找麻烦!!!
JDK也提供了一些针对JAVABEAN的API供我们使用

JAVABEAN通常用来 传数据的 Value Object VO
[就是名字,年龄等,没有唱歌 跳舞的动作哦!! ]
有的公司叫TO

JAVABEAN的属性是根据 方法来的
方法去掉set get

盛夏的东西 首字母变小写
--------
getAge
setAge
=>age
-----------
★规则
如果第二个字母是小的,则把第一个字母变成小的
----------
gettime
settime
=>time

getTime
setTime
=>time [和上面一样]

-------------
现在来了一个

getCPU
setCPU
=>cPU???错★★
==>还是CPU
如果第二个字母是大的,则把第一个字母不变,还是大的

bool值用isLast() last 表示

get set | is set[/color]
------------------------------
package com.ncs.bean;

import java.beans.PropertyDescriptor;
import java.lang.reflect.Method;

public class IntroSpectorText {

//用特殊方式 set get 属性值
public static void main(String[] args) throws Exception{
// create a bean
PointBean pointBean= new PointBean(3,3);

// 知道有个属性叫x ★但是不用 setX getX
String propertyName = "x";

//PropertyDescriptor这个类的实例 可以得到x属性的相关信息
//告诉它 属性名 和 类字节码
PropertyDescriptor propertyDescriptor =
new PropertyDescriptor(propertyName,pointBean.getClass());

//得到取值方法
Method getMethod = propertyDescriptor.getReadMethod();
//好名字retVal 取值方法不需要参数
Object retVal = getMethod.invoke(pointBean, null);

System.out.println(retVal); //成功取得值

///

Method setMethod = propertyDescriptor.getWriteMethod();
setMethod.invoke(pointBean, 17);

//既然看看,就用土方法,其实应该先 设值,再取的,就先这样了
System.out.println(pointBean.getX()); //成功设置17

/
//再介绍一个老办法 读属性
BeanInfo beanInfo = Introspector.getBeanInfo(pointBean.getClass());
PropertyDescriptor[] pds = beanInfo.getPropertyDescriptors();
//是所有的属性 ,只好 loop 找到了break
Object retVal2 = null;
for(PropertyDescriptor pd : pds) {
if(pd.getName().equals("x")) {
Method getMethod2 = pd.getReadMethod();
retVal2 = getMethod2.invoke(pointBean);//没有参数不写也可以的
break;//找到了break
}
}
System.out.println(retVal2);
}

}

------------------------------
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值