专业IT网络知识平台,分享IT百科知识、生活百科知识解答!

易企推科技
易企推科技

javabean是什么意思,javabean属性有哪些

来源:小易整编  作者:小易  发布时间:2023-03-20 04:41
摘要:javabean是什么意思,javabean属性有哪些在Java中,有很多class的定义都符合这样的规范:若干private实例字段;通过public方法来读写实例字段。例如:publicclassPerson privateStri...

javabean是什么意思,javabean属性有哪些

javabean是什么意思,javabean属性有哪些

在Java中,有很多class的定义都符合这样的规范:

  • 若干private实例字段;
  • 通过public方法来读写实例字段。

例如:

public class Person {    private String name;    private int age;    public String getName() { return this.name; }    public void setName(String name) { this.name = name; }    public int getAge() { return this.age; }    public void setAge(int age) { this.age = age; }}

如果读写方法符合以下这种命名规范:

// 读方法:public Type getXyz()// 写方法:public void setXyz(Type value)

那么这种class被称为JavaBean:

上面的字段是xyz,那么读写方法名分别以get和set开头,并且后接大写字母开头的字段名Xyz,因此两个读写方法名分别是getXyz()和setXyz()。

boolean字段比较特殊,它的读方法一般命名为isXyz():

// 读方法:public boolean isChild()// 写方法:public void setChild(boolean value)

我们通常把一组对应的读方法(getter)和写方法(setter)称为属性(property)。例如,name属性:
  • 对应的读方法是String getName()
  • 对应的写方法是setName(String)

只有getter的属性称为只读属性(read-only),例如,定义一个age只读属性:

  • 对应的读方法是int getAge()

  • 无对应的写方法setAge(int)

类似的,只有setter的属性称为只写属性(write-only)。

很明显,只读属性很常见,只写属性不常见。

属性只需要定义getter和setter方法,不一定需要对应的字段。例如,child只读属性定义如下:

public class Person {    private String name;    private int age;    public String getName() { return this.name; }    public void setName(String name) { this.name = name; }    public int getAge() { return this.age; }    public void setAge(int age) { this.age = age; }    public boolean isChild() {        return age <= 6;    }}

可以看出,getter和setter也是一种数据封装的方法。

JavaBean的作用

JavaBean主要用来传递数据,即把一组数据组合成一个JavaBean便于传输。此外,JavaBean可以方便地被IDE工具分析,生成读写属性的代码,主要用在图形界面的可视化设计中。

通过IDE,可以快速生成getter和setter。例如,在Eclipse中,先输入以下代码:

public class Person {    private String name;    private int age;}

然后,点击右键,在弹出的菜单中选择“Source”,“Generate Getters and Setters”,在弹出的对话框中选中需要生成getter和setter方法的字段,点击确定即可由IDE自动完成所有方法代码。

枚举JavaBean属性

要枚举一个JavaBean的所有属性,可以直接使用Java核心库提供的Introspector:

import java.beans.*;public class Main {    public static void main(String[] args) throws Exception {        BeanInfo info = Introspector.getBeanInfo(Person.class);        for (PropertyDescriptor pd : info.getPropertyDescriptors()) {            System.out.println(pd.getName());            System.out.println("  " + pd.getReadMethod());            System.out.println("  " + pd.getWriteMethod());        }    }}class Person {    private String name;    private int age;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }}

运行上述代码,可以列出所有的属性,以及对应的读写方法。注意class属性是从Object继承的getClass()方法带来的。

小结

JavaBean是一种符合命名规范的class,它通过getter和setter来定义属性。

属性是一种通用的叫法,并非Java语法规定。

可以利用IDE快速生成getter和setter。

使用Introspector.getBeanInfo()可以获取属性列表。


本文地址:IT百科频道 https://www.hkm168.com/tags/933471.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


IT百科
小编:小易整编
相关文章相关阅读
  • c语言的输入函数有哪些

    c语言的输入函数有哪些

    c语言的输入函数有:1、scanf()函数、从标准输入stdin读取格式化输入;2、getchar()函数,从标准输入stdin获取一个字符;3、gets()函数,从标准输入stdin读取一行;4、getch()函数,从stdin流中读取字...

  • 因特网能提供的最基本服务有哪些

    因特网能提供的最基本服务有哪些

    因特网能提供的最基本服务有:1、www服务;2、电子邮件e-mail服务;3、远程登录telnet服务;4、文件传输ftp服务;5、usenet网络新闻组服务;6、电子公告牌服务。本教程操作环境:windows7系统、DellG3电脑。因...

  • 某台微机安装的是64位操作系统中,64位指的是什么

    某台微机安装的是64位操作系统中,64位指的是什么

    某台微机安装的是64位操作系统中,64位指的是cpu的字长,即cpu每次能处理64位二进制数据。字长是cpu的主要技术指标之一,指的是cpu一次能并行处理的二进制位数,字长总是8的整数倍,通常pc机的字长为32位,64位。本教程操作环境:w...

  • c语言是什么意思

    c语言是什么意思

    一:c语言是什么意思C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言,以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低...

  • skype是什么软件

    skype是什么软件

    skype是一种简单的免费软件,使您能够在数分钟之内在世界上的任何角落拨打免费电话,它使用全新的p2p【对等】技术将您与其他skype用户相连接。Skype是一种简单的免费软件,使您能够在数分钟之内在世界上的任何角落拨打免费电话。Sky...

  • 前端开发需要哪些软件

    前端开发需要哪些软件

    编程一般用的软件有:1、hbuilder;2、sublimetext;3、webstorm;4、phpstudy;5、dreamweaver;6、visualstudio;7、phpstorm;8、notepad等等。孔子说,“工欲善其...

  • 计算机的三类总线分别是什么?

    计算机的三类总线分别是什么?

    计算机的三类总线分别是:控制总线、地址总线和数据总线。控制总线用于将微处理器控制单元的信号,传送到周边设备;地址总线用来指定在ram之中储存的数据的地址;数据总线用于在cpu与ram之间来回传送需要处理或是需要储存的数据。总线(Bus)是计...

  • 2k屏幕是什么意思

    2k屏幕是什么意思

    2k屏幕是指分辨率能够达到2560*1440的屏幕。2k是一个通用术语,指屏幕或者内容的水平分辨率达约2000像素的分辨率等级;又因“16:9”的比例是高清晰度视频规格的国际标准,所以2k分辨率在视频制作、显示屏等领域常见格式为2560*1...

  • 周排行
  • 月排行
  • 年排行

精彩推荐