JavaBeans are reusable software components, or sections of code, for programs written in the Java® language. They are designed to allow programmers to write a program once and run it on any system. The same JavaBeans can be used to create many different programs. In order to remain portable, JavaBeans must follow certain programming conventions.
The Java® programming language was developed in the mid-1990s by James Goseling at Sun Microsystems. The syntax is similar to that of the C and C++ programming languages. It differs from these languages because the object model is simpler. The great advantage to the Java® language is that programs written in Java® can run on any computer system without changes to the code.
JavaBeans™ help Java® programs to remain portable. They are basically a number of objects grouped together so that they can be moved as a group instead of individually. To achieve this, JavaBeans™ follow certain conventions in naming, construction, and behavior.
A JavaBean™ must be able to be serialized. This means it can be converted into a sequence of bits so it can be stored in a file or transmitted across a network. Other names for this process are deflating and marshalizing. To use the JavaBean™ after it has been serialized, it must be reconstituted in a process called deserializing or inflating.
Another convention used in writing JavaBeans™ is the nullary constructor. A constructor is a subroutine, or sequence of events, called at the creation of an object to prepare the object for use. Constructors normally accept parameters to set the variables of the object. A nullary constructor accepts no parameters.
To protect against accidental or code damaging changes to variables, variables in JavaBeans™ are set to private. This means that they are accessible only to functions that are a member of the same class or to those that are granted specific access. They can only be modified using a public member function, which takes the new value as a parameter and then modifies the private variable. A similar subroutine can return the value of the private member variable to the code writer. This is called the getter and setter method or the mutator method.
JavaBeans™ should not be confused with Applets. Applets are miniature, web-based programs, while JavaBeans™ are reusable components that can be put together to make programs. In some cases, Applets can be designed to fulfill similar functions to JavaBeans™.