Java プログラムは、アプリケーションとアプレットの 2 つの形態に分類されます。
Java アプリケーションは、コマンド行から Java インタプリタを起動し、コンパイル済みのアプリケーションを含むファイルを指定することによって実行されます。
Java アプレットは、ブラウザから実行されます。ブラウザが解釈する HTML コードには、コンパイル済みのアプレットを含むファイル名を指定します。ブラウザはそのアプレットを読み込み実行するために、Java インタプリタを呼び出します。
例 3-1 は、stdout に「Hello World」と表示するアプリケーションのソースです。メソッドは、呼び出し時に引数を受け取りますが、引数に対して処理は行いません。
// // HelloWorld アプリケーション // class HelloWorldApp{ public static void main (String args[]) { System.out.println ("Hello World"); } } |
C と同様に、Java では最初に呼び出すメソッドまたは関数が main と認識されることに注意してください。キーワード public は、そのメソッドが誰でも実行できるようにします。static は、main が HelloWorldApp クラスを参照するようにします。つまり、static はこのクラスのインスタンスに 1 つだけ存在します。void は、main が何も返さないことを示します。args[] は、String 型の配列を宣言しています。
このアプリケーションをコンパイルするには、次のようにコマンドを実行します。
$ javac HelloWorldApp.java |
アプリケーション実行するには、次のようにコマンドを実行します。
$ java HelloWorldApp arg1 arg2 ... |
例 3-2 は、例 3-1 のアプリケーションと同じように動作するアプレットのソース例です。
// // HelloWorld アプレット // import java.awt.Graphics; import java.applet.Applet; public class HelloWorld extends Applet { public void paint (Graphics g) { g.drawString ("Hello World", 25, 25); } } |
アプレットでは、参照先クラスを必ず明示的にインポートする必要があります。キーワード public と void は、アプリケーションの場合とそれぞれ同じ意味を持ちます。extends は、HelloWorld クラスが Applet クラスからの継承であることを示します。
このアプレットをコンパイルするには、次のようにコマンドを実行します。
$ javac HelloWorld.java |
アプレットは、HTML コードを使用してブラウザ中に呼び出されます。アプレットを実行するのに最小限必要な HTML ページの構成は次のとおりです。
<title>Test</title> <hr> <applet code="HelloWorld.class" width=100 height=50> </applet> <hr> |