まとめ
もう一度最初のプログラムを見て、ここまでをまとめてみましょう。
// SimpleClassRunner.java
/**
* フィールド1つだけ持つシンプルなクラス。
*/
class SimpleClass
{
// int型変数のフィールドdataを定義します。
int data;
}
/**
* 実行用クラス。このクラスを実行してください。
*/
class SimpleClassRunner
{
public static void main( String[] args )
{
// SimpleClassクラスの参照型変数refを作ります。
SimpleClass ref;
// SimpleClassクラスのインスタンスを作り、
// その参照をref変数に入れます。
ref = new SimpleClass();
// ref変数内の参照を通して、SimpleClassクラスの
// インスタンスに入っているdataフィールドに
// 数値を入れます。
ref.data = 100;
// 今度はそれを取り出して出力します。
System.out.println( ref.data );
// 出力結果:
// 100
}
}
/**
* フィールド1つだけ持つシンプルなクラス。
*/
class SimpleClass
{
// int型変数のフィールドdataを定義します。
int data;
}
/**
* 実行用クラス。このクラスを実行してください。
*/
class SimpleClassRunner
{
public static void main( String[] args )
{
// SimpleClassクラスの参照型変数refを作ります。
SimpleClass ref;
// SimpleClassクラスのインスタンスを作り、
// その参照をref変数に入れます。
ref = new SimpleClass();
// ref変数内の参照を通して、SimpleClassクラスの
// インスタンスに入っているdataフィールドに
// 数値を入れます。
ref.data = 100;
// 今度はそれを取り出して出力します。
System.out.println( ref.data );
// 出力結果:
// 100
}
}
// SimpleClassRunner.java /** * フィールド1つだけ持つシンプルなクラス。 */ class SimpleClass { // int型変数のフィールドdataを定義します。 int data; } /** * 実行用クラス。このクラスを実行してください。 */ class SimpleClassRunner { public static void main( String[] args ) { // SimpleClassクラスの参照型変数refを作ります。 SimpleClass ref; // SimpleClassクラスのインスタンスを作り、 // その参照をref変数に入れます。 ref = new SimpleClass(); // ref変数内の参照を通して、SimpleClassクラスの // インスタンスに入っているdataフィールドに // 数値を入れます。 ref.data = 100; // 今度はそれを取り出して出力します。 System.out.println( ref.data ); // 出力結果: // 100 } }
クラスは「class クラス名 { 中身 }」と書きます。
でも、この段階ではまだクラスは仮のものです。クラスそのものは単なる「設計図」で、そのままでは実体を持ちません。
そのため、クラスを使うためには2段階の手順を踏みます。
まず「参照型変数の作成」。
「クラス名 変数名;」という形で、参照を入れる変数である「参照型変数」を作ります。
次に「インスタンスの作成」。
「new クラス名()」という形で、クラスの実体である「インスタンス」を作ります。
そして、インスタンスの作成時に、そのインスタンスを使用するための「参照」が渡されるので、それを先ほどの参照型変数に入れます。
そうして初めて、参照型変数に入っている参照を通して、インスタンスを操作することができるようになります。
インスタンスの中には「class クラス名 { 中身 }」の「中身」が入っています。
「中身」で変数を定義しておくと、インスタンスの中にその変数が作られます。これが「フィールド」です。
フィールドを使う場合には「参照型変数.フィールド」とします。
フィールドはたくさん用意できるので、1つのインスタンスの中にたくさんのフィールドを作る事ができます。インスタンスを「データの貯蔵庫」のようにできるということです。
この章で、クラス・インスタンス・参照というものがどういうものなのか、なんとなく分かったと思います。
次の章では、この3つを理解する上での「難問」について見ていきます。