まずは、簡単なアプリケーションの例として、おなじみの "Hello, world" を出力するプログラムを示す。
public class HelloApplication { public static void main(String[] arg) { System.out.println("Hello, world"); } }
上のようなコードを書いたファイル HelloApplication.java を 作り、コンパイルする。
% javac HelloApplication.java
すると、クラスファイル HelloApplication.class が作られる。
実行すると、標準出力に Hello, world と出力される。
% java HelloApplication Hello, world
まず、このプログラムでは HelloApplication
というクラスを
定義している。クラスというのは、オブジェクトのひな型である。Java では、
クラスを定義することによってプログラミングを行なう。つまり、Java のどん
なプログラムも、クラス定義からなっている。
クラス HelloApplication
の中では、main
とい
うメソッドを定義している。この main
メソッドから、Java アプ
リケーションの実行が始まる。main
の前に public static
void
とあるが、public
というのはこのメソッドを他のオ
ブジェクトが自由に呼び出せるということで、static
というのは
このメソッドがオブジェクトでなくクラスに関連づけられたものであることを表
す。void
は main
が返り値を返さないことを表す。
String[] arg
というのは main
メソッドの引数で、
プログラムの実行時に渡された引数が入るが、ここでは使っていない。
main
の中の一文で、標準出力に
Hello, world と出力する処理が行なわれている。
System
というのは、Java 言語の標準のクラス
java.lang.System
クラスのことである。これは、システム関連の
さまざまな機能を持ったクラスである。System.out
と書くと、
その System
クラス内のクラス変数 out
を表す。
クラス変数というのは、オブジェクトでなくクラスに関連づけられた変数である。
この out
変数には、標準出力にアクセスするための
PrintStream
クラスのオブジェクトが入っている。そこで、この
out
に対して out.println
と書くことで、
PrintStream
クラスのオブジェクトが持つメソッド
println
を呼び出すことができる。引数に "Hello,
world"
という文字列を渡して呼び出すことで、標準出力にその文字列を
出力する。