main()の中でクラスやメソッドを呼び出す際の注意事項
C言語と同様、Javaアプリケーションを作成する場合,main()でプログラムは始まり ます。しかしながら、C言語との違いで最初戸惑うことがあります。例えば次のようなプログラムはエラーになります.
public class Application1 {
int i;
public void test(int i) {
System.out.println(i);
}
public stacic void main(String[] args) {
i =10;
test(i);
}
}
static である main()からは,staticでない関数や変数を呼ぶことはできません.
つまり,もし,i とか test 等を定義して利用するならば,それらは static でなければならないのです.
これは,困りますねぇ....こういう場合は,下記のようにしたらいいんです.
public class Application1 {
int i;
//mainを代役する関数を定義し,その中で関数を呼ぶ
public void submain(){
i =10;
test(i);
}
//使いたい関数
public void test(int i) {
System.out.println(i);
}
//自身をnewしてsubmain関数を呼ぶ
public stacic void main(String[] args) {
new Application1().submain();
}
}