We want to realize a Java class to represent persons. The properties of interest for a person object are the name, defined once and for all, and the residence, which may change.
Let us define a Java class Person to represent persons.
public class Person {
//instance variables (data fields)
private String name;
private String residence;
//methods (operation fields)
public String getName() {
return name;
}
public String getResidence() {
return residence;
}
public void setResidence(String newResidence) {
residence = newResidence;
}
}
The definition of the class Person consists of the following elements:
The keywords public and private specify which fields are public and which are private (see later).
When a method, such as setResidence(), modifies the object on which it is called we say that it has a side-effect (see, e.g., the methods of the class StringBuffer). In general, the decision whether a method of a class should have a side-effect or not is a design choice that has important consequences on the way in which the class must be used by its clients.
Note: The definition of a class has to be saved in a file with the same name as the class and extension .java. For example, the definition of the class Person must be saved in a file called Person.java.
Note: In the definition of a class, the order of the fields (instance variables and methods) is irrelevant.