您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > [Java基础教程-兄弟连马剑威]-134-内省机制
内省机制马剑威第134讲课程大纲1、JavaBean的概念2、内省基本概念3、Introspector相关API1、JavaBean的概念•什么是JavaBean?•Bean理解为组件意思,JavaBean就是Java组件,在广泛的理解就是一个类,对于组件来说,关键在于要具有“能够被IDE构建工具侦测其属性和事件”的能力,通常在Java中。1、JavaBean的概念•一个JavaBean要具备这样的命名规则:•1、对于一个名称为xxx的属性,通常你要写两个方法:getXxx()和setXxx()。任何浏览这些方法的工具,都会把get或set后面的第一个字母自动转换为小写。•2、对于布尔型属性,可以使用以上get和set的方式,不过也可以把get替换成is。•3、Bean的普通方法不必遵循以上的命名规则,不过它们必须是public的。•4、对于事件,要使用Swing中处理监听器的方式。如addWindowListener,removeWindowListener2、内省基本概念•内省(IntroSpector)是Java语言对Bean类属性、事件的一种缺省处理方法。例如类A中有属性name,那我们可以通过getName,setName来得到其值或者设置新的值。•通过getName/setName来访问name属性,这就是默认的规则。2、内省基本概念•Java中提供了一套API用来访问某个属性的getter/setter方法,通过这些API可以使你不需要了解这个规则,这些API存放于包java.beans中,一般的做法是通过类Introspector的getBeanInfo方法来获取某个对象的BeanInfo信息,然后通过BeanInfo来获取属性的描述器(PropertyDescriptor),通过这个属性描述器就可以获取某个属性对应的getter/setter方法,然后我们就可以通过反射机制来调用这些方法。3、Introspector相关API1、Introspector类:Introspector类为通过工具学习有关受目标JavaBean支持的属性、事件和方法的知识提供了一个标准方法。staticBeanInfogetBeanInfo(Class?beanClass)在JavaBean上进行内省,了解其所有属性、公开的方法和事件。2、BeanInfo类:该类实现此BeanInfo接口并提供有关其bean的方法、属性、事件等显式信息。MethodDescriptor[]getMethodDescriptors()获得beansMethodDescriptor。PropertyDescriptor[]getPropertyDescriptors()获得beansPropertyDescriptor。Properties属性文件工具类的使用3、Introspector相关API3、PropertyDescriptor类:PropertyDescriptor描述JavaBean通过一对存储器方法导出的一个属性。MethodgetReadMethod()获得应该用于读取属性值的方法。MethodgetWriteMethod()获得应该用于写入属性值的方法。4、MethodDescriptor类:MethodDescriptor描述了一种特殊方法,即JavaBean支持从其他组件对其进行外部访问。MethodgetMethod()获得此MethodDescriptor封装的方法。谢谢Thanks
本文标题:[Java基础教程-兄弟连马剑威]-134-内省机制
链接地址:https://www.777doc.com/doc-7957430 .html