JavaBeans are really nothing more than classes that have no-args constructors and follow certain naming conventions (add/or provide a BeanInfo class) to identify properties,methods,and events.JavaBeans were designed for plugging into GUI design tools. Technically speaking,lots of things are JavaBeans...though whether they are intended to be used that way is another matter algether.
What is a bean?
If you have used Delphi, or Visual Basic, you are already familiar with the notion of a bean. The idea is the same; the programming language is different. A Java Bean is a reusable software component that works with Java. More specifically: a Java Bean is a reusable software component that can be visually manipulated in builder tools.
Definition: A Java Bean is a reusable software component that can be visually manipulated in builder tools. To understand the precise meaning of this definition of a Bean, clarification is required for the following terms:
Software component
Builder tool
Visual manipulation
Each of these will be addressed in turn.