JavaBean除了getter和setter之外还有其他方法吗?
根据我在网上找到的定义,JavaBean是一个满足以下条件的Java类:
我想知道的是, 如果我将方法添加到Javabean中,我们仍然可以将它称为Javabean?
例如, 我们可以说下面的类是JavaBean吗?
public class Person implements Serializable {
private String name;
public Person(){}
public String getName(){...}
public void setName(String name){...}
public void sayHello(){}
}
是的,Java Bean肯定会有行为。 没有附加方法的Java Bean类具有非常有限的适用性,因为它们封装了没有有用行为的数据。
Oracle在其关于Java Bean的教程之一中提到了这一点:
一个bean的方法是它可以做的事情。 任何不属于属性定义的公共方法都是一个bean方法。 在NetBeans等构建工具的上下文中使用bean时,可以将bean的方法用作应用程序的一部分。 例如,你可以连线一个按钮来调用你的一个bean的方法。
是的,Java bean可以有其他功能。 引入了约定来以结构化的方式访问属性,并添加了否决等功能。 它用于例如swing中的GUI组件,其中bean机制用于配置GUI元素。 特别是在GUI编辑器中,需要动态访问未知属性。 当然,这些GUI组件有很多功能。 如果您限制为您的条件集,您会得到什么是DTO(数据传输对象),它仅传输数据,但没有附加功能。
链接地址: http://www.djcxy.com/p/47655.html上一篇: Can a JavaBean have methods besides getters and setters?