One principle in software engineering is that of modularity. This means that programs should be
broken down into small, managable chunks. In Java, this means using classes and methods.
Classes are bigger program units that contain methods. As you have already seen, one class can be a complete application program, as long as it has a method
called main
. A class can also be a complete applet, and it will contain methods such as paint
and init
. It is also possible for an
application program or an applet to contain many classes.
Inside a class, there may be many methods. Consider the class called Person
, shown in
Figure 1. This class contains methods
for different actions a person might do. These include eat, sleep, talk, shop, lift,
and run
.
This is an example of modularity. Having different modules allows code to be reused. For example, suppose the
Person
wishes to eat three times in a day; the method eat
can be called three times. This also
allows methods such as main
to be shorter and more readable.
You may view and run the code for the Person
class here.
Figure 1: The Person Class
This figure shows the shop
method in the Person
class.
A method has two major parts: method declaration and method body. The method declaration defines things such as the access level, modifier, return type, method name, and the parameter list.
The method body contains the Java instructions that the method must execute.
For now, our method declarations will contain
The access level controls which classes can access the method, like a security level. It can be public, private
or protected
.
A method with public
access can be accessed by an outside class. A method with private
access can only be accessed by the class it is defined in.
A method with protected
access can only be accessed by super classes and subclasses of the class it is defined in.
For now all your methods will have a public
access level.
The modifier is an optional part of the declaration that sets certain properites for the method. The modifier can include abstract, final, native
and synchronized
but we will almost
always use static
. static
declares this method as a class method rather than an instance method. (This will make more sense after you learn more about Object-Oriented programming.)
The return type is the type of variable the method returns to the method that called it. The method shop()
shown above, returns output
which has type String
.
A method can return a variable of any of the primitive types (int, short, long, byte, char, float, double, Boolean) or of any class type (such as String). However, a method can only
return one item to its calling method. (That is, it cannot return a float and a String). Read Java Tutorial on
Returning a Value from a Method.
The method name is a name given to the method by the programmer. The name should summarize what the method does. It must be one word with no whitespace. If you wish
to assign a name with more than one word in it, then start words with a capital (except the first word). Some examples of good
method names are: sortList
, onePlayerGame
, getUserName
.
The parameter list is used to pass information into the method. You must declare the number and type of the parameters required by that method. Read Java Tutorial on Passing Information into a Method.
For a more detailed look at method definition, go to the creating methods tutorial..
Methods receive information from other methods through their parameter list. After processing that information, methods return information to the calling method
through the return type. Cashier.java
is a cashier program that calculates the change to give a customer who buys one item. Download, examine and run
the code. In class, draw a flow chart showing the program flow.
Java has a large library of prewritten code called the Java Applications Programming Interface or Java API. Oracle hosts a detailed description of the API at https://docs.oracle.com/javase/7/docs/api/. The code is made available to programmers so that commonly used functionality does not need to be written over and over again. As a Java programmer, it is important that you become familiar with the API, how to use it, and how to look up the use of classes and methods in the library.
One class described in the Java API is java.lang.Math
. To find the description of the Math class,
go to the Java API and click on java.lang
in the
top left frame. All the classes found in java.lang
will then appear in the bottom left frame. Click on the
class called Math
. The main frame will then display the description of the Math
class.
Scroll down in the main frame and find a table titled method summary. Here you will find a number of useful
mathematical functions such as sin, cos, tan, max, min, round, pow, random
and sqrt
.
Have a look at MathClassSampler.java for examples of how to
use tan, max, round,
and sqrt
.