javaの基本的な書き方の次のステップとして、クラスとオブジェクトに差し掛かっていきます。
まずはクラスとはなにかを勉強し、その後にオブジェクト指向の勉強に進めていきます。
2014.09.24 追記
クラスとは、関連した情報を1つにまとめたもの。
以下のように宣言します。
public class TestClass {
String test_a;
int test_b;
}
実際にプログラムして、動きを確かめようと思い、次のようなソースを作りました。(ファイル名は「array_test2.java」としました)
public class array_test2 {
public static void main(String[] args) {
//「tc」はTestClassのインスタンスという
TestClass tc = new TestClass();
tc.test_a = "A";
tc.test_b = 1;
//ひとつのクラスから2個目のインスタンスを作る
TestClass tc2 = new TestClass();
tc2.test_a = "B";
tc2.test_b = 2;
}
public class TestClass {
String test_a;
int test_b;
}
}
コンパイルを実行する
c:\javac array_test2.java
すると、次のような結果がでます(エラー)。
array_test2.java:6: static でない 変数 this を static コンテキストから参照することはできません。
TestClass tc = new TestClass();
^
ネットを調べたりしましたが、少しの時間悩み、次のように書き直したところ、動作しました。
public class array_test2 {
public static void main(String[] args) {
TestClass tc = new TestClass();
}
}
class TestClass {
String test_a;
int test_b;
}
結局、TestClassのクラスが「public class array_test2 」の外側にないとエラーになるようです。
理由としては、staticのついたメソッド(クラスメソッド)の中で、自クラス内のstaticでないメソッドや
フィールド変数、クラス内クラスを参照することはできない。為でした。
うーん、まだ、感覚的にわからないです。