`
hubin4
  • 浏览: 97174 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

for java beginner-18 JAVABEAN规范-1

    博客分类:
  • JAVA
阅读更多
018-JAVABEAN规范-1

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

------------------------------
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);
	}

}

------------------------------
分享到:
评论

相关推荐

    Algorithm-Machine-Learning-for-Beginner-by-Python3.zip

    Algorithm-Machine-Learning-for-Beginner-by-Python3.zip,斯克莱恩、坦索流。,算法是为计算机程序高效、彻底地完成任务而创建的一组详细的准则。

    Python库 | for-beginner-piano-0.3.1.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:for-beginner-piano-0.3.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    magic-perl-for-beginner-.rar_magic

    标题中的"magic-perl-for-beginner-"暗示了这个压缩包是为Perl初学者准备的一套学习资源。 《神奇的Perl》很可能是一本深入浅出的教程,旨在帮助新手快速掌握Perl语言的基础和进阶技巧。描述中提到它是“最佳的PERL...

    Python-Programming-for-the-Absolute-Beginner-3rd-Edition.zip

    接下来,教程将引导你进入Python的基础知识,包括变量、数据类型(如整数、浮点数、字符串和布尔值)、运算符、控制流(如条件语句if/else和循环for/while)、函数以及列表、元组、字典等数据结构。这些基础知识是...

    Beginner-guide-yolo编程资源

    Beginner-guide-yolo编程资源

    rails-beginner-s-guide

    rails-beginner-s-guide是Rails 指导手册,帮组学习了解rails开发

    Beginner-guide.pdf

    Beginner-guide.pdf

    For Dummies. Java All-in-One Desk Reference(《傻瓜系列:Java完全桌面参考手册》)

    Covers the recent release of the Java 2 Platform Standard Edition 5.0 and the new J2SE Development Kit 5.0 * Starts with beginner topics including getting started with Java, using the Java ...

    Beginner - MetaTrader 5脚本.zip

    1. 将"beginner.mq5"文件导入到MetaTrader 5平台的"Experts"或"Scripts"目录。 2. 在MT5终端中打开"Navigator"面板,找到该脚本。 3. 拖动脚本到图表上,或者右键点击选择"Attach to the chart"来绑定到特定的货币对...

    Java - Java- A Beginner’s Guide - 7th edition

    ### Java - Java: A Beginner’s Guide - 7th Edition #### Java Fundamentals **起源与发展:** Java 语言起源于1990年代初期,在Sun Microsystems由James Gosling领导的一支团队开发。Java的设计目标是创造一种...

    godot-beginner-2d-platformer-1.1.0_game_godot_

    在"godot-beginner-2d-platformer-1.1.0_game_godot_"这个项目中,我们将深入探讨如何利用Godot Engine来构建一个基础的2D平台游戏。 首先,让我们了解2D平台游戏的基本元素。平台游戏是游戏中的一种类型,玩家控制...

    COCOS2d-X by Example Beginner-'s Guide

    ### COCOS2d-X by Example Beginner's Guide #### 概述 《COCOS2d-X by Example Beginner's Guide》是一本专为初学者设计的Cocos2d-x游戏开发指南。本书由Roger Engelbert编写,旨在通过一系列实用的例子帮助读者...

    java for the beginner

    introduce in english

    初试一下用EasyX,beginner-easy-x-master.zip

    这个"beginner-easy-x-master.zip"压缩包可能是某个教学项目或者教程的源代码,帮助用户初次接触并学习如何使用EasyX。在深入探讨EasyX之前,我们先来了解一下EasyX的基本概念和功能。 EasyX是一个轻量级的图形库,...

    python_for_absolute_beginner-源码.rar

    在"python_for_absolute_beginner-源码.rar"这个压缩包中,你将找到一系列用于教学的源代码示例,这些示例旨在帮助初学者理解Python的基本概念、语法和常见操作。下面我们将逐一探讨这些关键知识点: 1. **Python...

    NumPy-1-5-Beginner-039-s-Guide-234页

    NumPy 1.5 Beginner's Guide 是一本面向初学者的指南,旨在帮助读者快速掌握 NumPy 的基本概念和使用方法。 NumPy 的基本概念 NumPy 最基本的数据结构是 ndarray(多维数组),它可以存储大量的数字数据,并提供...

    A list of beginner-friendly NLP projects—using pre-trained models

    A list of beginner-friendly NLP projects—using pre-trained models,用预训练模型零基础体会最先进NLP技术,by Caleb Kaiser。

    Java-Beginner-Projects:初学者项目

    "Java-Beginner-Projects" 是一个专门为初学者设计的学习资源,旨在帮助新手通过实践项目来掌握Java编程基础。这个项目可能包含了从《Java入门,早期的对象》(第五版),作者Tony Gaddis的书籍中提取的实际编程练习...

    Premier Press - Microsoft Windows Shell Script Programming for the Absolute Beginner - 2004

    《Microsoft Windows Shell Script Programming for the Absolute Beginner》是Premier Press在2004年出版的一本面向初学者的教程,旨在帮助读者掌握Windows壳层脚本编程技术。这本书深入浅出地介绍了如何利用...

Global site tag (gtag.js) - Google Analytics