The "Hello World" Application |
This section explains how the "Hello World" application uses classes and objects. If you aren't familiar with object-oriented concepts, then you might find this section confusing. If so, feel free to skip ahead to the lesson Object-Oriented Programming ConceptsThe "Hello World" application is about the simplest Java program you can write that actually does something. Because it is such a simple program, it doesn't need to define any classes except for
HelloWorldApp
. However, most programs that you write will be more complex and require you to write other classes and supporting Java code.The "Hello World" application does use another class--the
System
class--that is part of the API (application programming interface) provided with the Java environment. TheSystem
class provides system-independent access to system-dependent functionality. For information about theSystem
class, see Using System Resources.The bold code in the following listing illustrates the use of a class variable of the
System
class, and of an instance method./** * The HelloWorldApp class implements an application that * simply displays "Hello World!" to the standard output. */ class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); //Display the string. } }Using a Class Method or Variable
Let's take a look at the first segment of the statement:The constructSystem.out.println("Hello World!");System.out
is the full name of theout
variable in theSystem
class. Notice that the application never instantiates theSystem
class and thatout
is referred to directly from the class name. This is becauseout
is a class variable--a variable associated with the class rather than with an instance of the class. You can also associate methods with a class--class methods.To refer to class variables and methods, you join the class name and the name of the class method or class variable together with a period (".").
Using an Instance Method or Variable
Methods and variables that are not class methods or class variables are known as instance methods and instance variables. To refer to instance methods and variables, you must reference the methods and variables from an object.While
System
'sout
variable is a class variable, it refers to an instance of thePrintStream
class (a class provided with the Java development environment) that implements the standard output stream.When the
System
class is loaded into the application, it instantiatesPrintStream
and assigns the newPrintStream
object to theout
class variable. Now that you have an instance of a class, you can call one of its instance methods:As you can see, you refer to instance methods and variables similarly to the way you refer to class methods and variables. You join an object reference (System.out.println("Hello World!");out
) and the name of the instance method or variable (println
) together with a period (".").The Java compiler allows you to cascade references to class and instance methods and variables together, resulting in constructs like the one that appears in the sample program:
This line of code displays "Hello World!" to the application's standard output stream.System.out.println("Hello World!");Summary
A class method or class variable is associated with a particular class. The runtime system allocates a class variable once per class, no matter how many instances exist of that class. You access class variables and methods through the class.An instance method or instance variable is associated with a particular object (an instance of a class). Every time you create an object, the new object gets a copy of every instance variable defined in its class. You access instance variables and methods through objects.
The "Hello World" Application |