Java bean 概念

    xiaoxiao2026-01-13  0

    Java bean 概念


    JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性,set和get方法获取。众所周知,属性名称符合这种模式,其他Java 类可以通过自省机制发现和操作这些JavaBean 的属性。

    举个例子,假如有人要用Java实现一个单向链表类,可能会这样写:

    public final class JavaIntList { static class Node { public Node next; public int value; } public Node head; public int size; //保存List大小 }

    上述实现为了能够快速获取链表的大小,把链表大小缓存在size变量中。用法如下:

    JavaIntList myList = new JavaIntList(); System.out.println(myList.size);

    有一天,决定要节省内存,不要缓存size变量了,把代码改成这样:

    public final class JavaIntList { static final class Node { public Node next; public int value; } public Node head; public int getSize() { //外部获取List的size方法,采取函数计算 Node n = head; int i = 0; while (n != null) { n = n.next; i++; } return i; } }

    上述不是通过每个List保存一个int size,而是每次获取的时候,再进行getSize()计算。

    我们知道更新版本,必须保持向后兼容性。sun在设计Java语言时,也懂得这个道理。所以Java标准库中,绝对不会出现public int size这样的代码,而一定会一开始就写成:

    private int size; public getSize(){ return size; }

    让用户一开始就使用getSize,以便有朝一日修改getSize实现时,不破坏向后兼容性。这种public int getSize() { return size; }的惯用手法,就是Java Bean。

    通俗来说java Bean遵循这一的一套规范:

    所有属性均为 private提供默认的构造方法getter,setter来获取 private 成员变量实现 serializable 接口
    转载请注明原文地址: https://ju.6miu.com/read-1305964.html
    最新回复(0)