根据我在互联网上找到的定义,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(){}
}
答案 0 :(得分:7)
是的,Java Bean绝对可以有行为。没有其他方法的Java Bean类的适用性非常有限,因为它们封装了没有有用行为的数据。
Oracle mentions this in one of their tutorials on Java Beans:
bean的方法就是它可以做的事情。任何不属于属性定义的公共方法都是bean方法。在NetBeans等构建器工具的上下文中使用bean时,可以使用bean的方法作为应用程序的一部分。例如,你可以按下按钮来调用你的一个bean的方法。
答案 1 :(得分:2)
是的,java bean可以有其他功能。引入该约定以结构化方式访问属性并添加诸如否决之类的功能。它用于例如swing中的GUI组件,其中bean机制用于配置GUI元素。特别是在GUI编辑器中,需要动态访问未知属性。当然,这些GUI组件具有许多功能。限制使用条件的是DTO(数据传输对象),它只传输数据但没有其他功能。