Instead of exposing fields of a Java class, such as in thiscode:
public class Person{ public String firstName; public String lastName;}
use private fields and provide access to the information through”Getter” and “Setter” methods. The re-written class is:
public class Person{ private String firstName; private String lastName; public String getFirstName() { return firstName; } public void setFirstName( String fistName ) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName( String lastName ) { this.lastName = lastName; }}
There are two advantages to this. First, if you make changes to theclass that affect the way you store information, you can hide thechanges behind the getter and setting methods. Your class would stilllook the same to the users of the class as they would continue to usethe getter and setter methods. Second, getter and setter methods is thecoding pattern for JavaBeans. The re-written class is a JavaBean whilethe first one is not.