「ハロー、マイフレンド。私が 16 代目の官僚であることを覚えてますか?私は自分が持つすべての知識を体系化していなければ、同じ結果は出せなかったでしょう。私は役に立つ情報をたくさん持っています。きみのタスクをいくつか手伝ってあげますよ。まずは、Java の典型的なプログラムからお教えします。」
「お願いします。」
「事実その 1。Java のプログラムはクラスで構成されています。各クラスは個別のファイルに保管され、その名前はクラスの名前と同じにします。ファイルの拡張子は java とします。」
「プログラムはファイルの拡張子 'java' を付けた一連のファイルで構成され、各ファイルはクラスを 1 つだけ含む、ですね?」
「その通りです、アミーゴ。MyCat.java という名前のファイルには、MyCat というクラスが入っています。」
「事実その 2。クラスのファイルがたくさんあるときは、フォルダーやサブフォルダーにグループ分けします。また、クラスはパッケージやサブパッケージにグループ分けされます。パッケージやサブパッケージの名前はクラスのコード内で指定される必要があって、それぞれの名前はドライブにあるフィルダーやサブフォルダーの名前と一致していなければいけません。」
「したがって、ファイルはフォルダーに、クラスはパッケージに保管されるということです。クラスの名前は、クラスを説明するファイルの名前と一致している必要もあります。パッケージの名前は、クラスが保管されているフォルダーの名前と一致している必要があります。」
「それ以外にも知っておくべきことはありますか?」
「ネストされたパッケージの名前は、URL のようにピリオドを使って区切ります。」
「つまり、animals.pets パッケージに保管されている Cat というクラスがあれば、それは、
ハードドライブにはいくつかフォルダーがあり (src と呼ぶことにしよう)、そこにはすべてのプロジェクトファイルが保管されている。
そこには animals という名前のフォルダーがあり、さらにその中には a pets というサブフォルダーがある。
The pets フォルダーには、Cat.java というファイルがあり、その中には Cat クラスのコードが格納されている、ということを意味します。」
「よく理解できません。」
「いいですか、クラスやパッケージの構造は、ドライブ上のフォルダーやファイルの構造とよく似ているんです。House.java という名前のファイルが src/com/houses というフォルダーに保管されているとすれば、House という名前のクラスが com.houses というパッケージに保管されていることになります。」
「分かりました。」
「きみは吸収がとても早いようですね。ではちょっと画面に注目しましょう。こちらは小さいクラスのコードです。重要な箇所にはラベルを付けてあります。」
PACKAGE NAME
package com.futujava.lesson2;
import java.io.IOException;
/**
* User: General
* Date: 12/21/12
* Time: 11:59
*/
CLASS NAME
public class Task1
{
⎤
private static String TEXT = "Kiss my metal rear actuator";⎥ CLASS VARIABLE
⎦
⎤
public static void main(String[] args) throws IOException ⎥
{ ⎥
SCREEN OUTPUT SINGLE-LINE COMMENT ⎥
System.out.println(TEXT); //Display a single string ⎥
MULTILINE COMMENT ⎥
/* ⎥
This is a multiline comment. ⎥
The code below will display three identical strings. ⎥ main() METHOD
*/ ⎥
VARIABLE DECLARATION ⎥
String s = "Ho-ho-ho!"; ⎥
METHOD CALL ⎥
printTextMoreTimes(s, 3); ⎥
} ⎥
⎦
METHOD PARAMETERS ⎤
public static void printTextMoreTimes(String s, int count) ⎥ METHOD SIGNATURE
⎦
⎤
{ ⎥
LOOP ⎥
for (int i = 0; i < count; i++) ⎥
LOOP BODY ⎥ METHOD BODY/CODE
{ ⎥
System.out.println(s); ⎥
} ⎥
} ⎥
⎦
}
「なるほど、1 回で完璧に理解できました。」
「すばらしい!これだけ分かっていれば十分です。とにかく、少なくとも何か 1 つは理解していくようにしましょう。時間と共に全部理解できるようになります。じゃ、私は少し昼寝をしますね。次は他の誰かがトレーニングしてくれるはずですよ。」
GO TO FULL VERSION