初めの一歩…
[2003/11/29]
間違いだらけの Java…
コンパイルしてみよう
C言語風にこんなサンプルを作ってみた(Foo.java).
void main(void)
{
println("Hello java\n");
}
|
main関数だけだとコンパイルエラー
% javac Foo.java
Foo.java:2: 'class' または 'interface' がありません。
void main(void)
^
エラー 1 個
|
クラスで包んでみた.
class Foo {
void main(void)
{
println("Hello java\n");
}
}
|
関数引数が不正だとエラー
Foo.java:2: 型の開始が不正です。
void main(void)
^
Foo.java:5: がありません。
}
^
Foo.java:2: メソッド本体がないか、abstract として宣言されています。
void main(void)
^
エラー 3 個
|
関数引数をchar型配列にしてみた
class Foo {
void main(char args[])
{
println("Hello java\n");
}
}
|
呼出し関数が不正だとエラー
Foo.java:4: シンボルを解釈処理できません。
シンボル: メソッド println (java.lang.String)
位置 : Foo の クラス
println("Hello java\n");
^
エラー 1 個
|
println を System.out のメソッドとして明示した.
class Foo {
void main(char args[])
{
System.out.println("Hello java\n");
}
}
|
コンパイル成功!
ソースファイル Foo.java に加え,クラスファイル Foo.class が生成される.
% ls Foo.*
Foo.class Foo.java
|
実行するぞ
関数型が合わないと呼び出せない(main関数が見つからない).
% java Foo
Exception in thread "main" java.lang.NoSuchMethodError: main
|
main関数に "public static" 属性を付加.
class Foo {
public static void main(char args[])
{
System.out.println("Hello java\n");
}
}
|
関数の引数型も合わないと呼び出せない.
% java Foo
Exception in thread "main" java.lang.NoSuchMethodError: main
|
引数はString型にする.
class Foo {
public static void main(String args[])
{
System.out.println("Hello java\n");
}
}
|
やっと実行できた….
上へ