ソースファイル
日本語 | 素書類 |
英語 | source file |
ふりがな | そーすふぁいる |
フリガナ | ソースファイル |
プログラムを記述するファイル。
拡張子は.java。
このソースファイルにJavaのプログラムを記述する。
ファイル形式は普通のテキストファイル。
文字コードはコンパイラが対応していればどんな文字コードでも可能。
Eclipseでは、メニューの「ウィンドウ」-「設定」で表示される「Preferences」ダイアログで、「ワークベンチ」-「エディター」ページの「テキスト・ファイル・エンコード」でソースファイルの文字コードを指定する。
ソースファイル内には「パッケージ宣言」→「インポート宣言」→「クラス定義」の順に記述する必要がある。
この順番と異なるとコンパイルエラーとなる。それぞれの宣言及び定義は、不必要であれば省略することができる。
1ファイルにつきひとつのpublicクラスを記述し、ファイル名は「クラス名.java」とする。
ただし、publicクラスでなければ複数のクラスを記述することもできる。
ソースファイルはパッケージに対応したディレクトリに置く必要があり、packageによる指定と一致する必要がある。
ソースファイルをコンパイルすると、クラスファイル(拡張子が.classのファイル)が作られる。
JREはこのクラスファイルを読み込み実行する。
つまりソースファイルだけでは実行できない。必ずコンパイルしてクラスファイルを作成する必要がある。
拡張子は.java。
このソースファイルにJavaのプログラムを記述する。
ファイル形式は普通のテキストファイル。
文字コードはコンパイラが対応していればどんな文字コードでも可能。
Eclipseでは、メニューの「ウィンドウ」-「設定」で表示される「Preferences」ダイアログで、「ワークベンチ」-「エディター」ページの「テキスト・ファイル・エンコード」でソースファイルの文字コードを指定する。
ソースファイル内には「パッケージ宣言」→「インポート宣言」→「クラス定義」の順に記述する必要がある。
この順番と異なるとコンパイルエラーとなる。それぞれの宣言及び定義は、不必要であれば省略することができる。
1ファイルにつきひとつのpublicクラスを記述し、ファイル名は「クラス名.java」とする。
ただし、publicクラスでなければ複数のクラスを記述することもできる。
ソースファイルはパッケージに対応したディレクトリに置く必要があり、packageによる指定と一致する必要がある。
ソースファイルをコンパイルすると、クラスファイル(拡張子が.classのファイル)が作られる。
JREはこのクラスファイルを読み込み実行する。
つまりソースファイルだけでは実行できない。必ずコンパイルしてクラスファイルを作成する必要がある。
参考サイト
// /test/Sample.java
package test;
// ↑パッケージ名がtestなので
// このソースファイルはtestディレクトリに
// あるはずです。
// Calendarクラスをインポートします。
import java.util.Calendar;
// Sample.java ←これがソースファイル名。
public class Sample // ←クラス名と同じ。
{
public static void main( String[] args )
{
// 現在日時を格納したCalendarクラスのインスタンスを取得します。
Calendar calendar = Calendar.getInstance();
// 現在日時を出力します。
System.out.println( calendar );
// java.util.GregorianCalendar[time=1139049256847,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Tokyo",offset=32400000,dstSavings=0,useDaylight=false,transitions=0,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2006,MONTH=1,WEEK_OF_YEAR=5,WEEK_OF_MONTH=1,DAY_OF_MONTH=4,DAY_OF_YEAR=35,DAY_OF_WEEK=7,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=7,HOUR_OF_DAY=19,MINUTE=34,SECOND=16,MILLISECOND=847,ZONE_OFFSET=32400000,DST_OFFSET=0]
}
}
// publicクラスでなければソースファイル内に
// いくつあっても構いません。
class Sample2
{
}
/*
この構成のうち、「package」→「import」→「クラス」の順番は
決まっています。
package test; // (1)
import java.util.Calendar; // (2)
public class Sample{} // (3)
順序が入れ替わるとコンパイルエラーになります。
*/
// import java.util.Date;
// コンパイルエラー:
// キーワード "import" に構文エラーがあります。正しくは "interface", "class" です。
/*
上記のようにコンパイルエラーになります。
また、publicクラスはソースファイルにつき1つですが、
publicでないクラス(無印クラス)はいくつあっても構いませんし、
publicクラスも含めて、クラス内での順番は問いません。
*/
package test;
// ↑パッケージ名がtestなので
// このソースファイルはtestディレクトリに
// あるはずです。
// Calendarクラスをインポートします。
import java.util.Calendar;
// Sample.java ←これがソースファイル名。
public class Sample // ←クラス名と同じ。
{
public static void main( String[] args )
{
// 現在日時を格納したCalendarクラスのインスタンスを取得します。
Calendar calendar = Calendar.getInstance();
// 現在日時を出力します。
System.out.println( calendar );
// java.util.GregorianCalendar[time=1139049256847,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Tokyo",offset=32400000,dstSavings=0,useDaylight=false,transitions=0,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2006,MONTH=1,WEEK_OF_YEAR=5,WEEK_OF_MONTH=1,DAY_OF_MONTH=4,DAY_OF_YEAR=35,DAY_OF_WEEK=7,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=7,HOUR_OF_DAY=19,MINUTE=34,SECOND=16,MILLISECOND=847,ZONE_OFFSET=32400000,DST_OFFSET=0]
}
}
// publicクラスでなければソースファイル内に
// いくつあっても構いません。
class Sample2
{
}
/*
この構成のうち、「package」→「import」→「クラス」の順番は
決まっています。
package test; // (1)
import java.util.Calendar; // (2)
public class Sample{} // (3)
順序が入れ替わるとコンパイルエラーになります。
*/
// import java.util.Date;
// コンパイルエラー:
// キーワード "import" に構文エラーがあります。正しくは "interface", "class" です。
/*
上記のようにコンパイルエラーになります。
また、publicクラスはソースファイルにつき1つですが、
publicでないクラス(無印クラス)はいくつあっても構いませんし、
publicクラスも含めて、クラス内での順番は問いません。
*/
// /test/Sample.java package test; // ↑パッケージ名がtestなので // このソースファイルはtestディレクトリに // あるはずです。 // Calendarクラスをインポートします。 import java.util.Calendar; // Sample.java ←これがソースファイル名。 public class Sample // ←クラス名と同じ。 { public static void main( String[] args ) { // 現在日時を格納したCalendarクラスのインスタンスを取得します。 Calendar calendar = Calendar.getInstance(); // 現在日時を出力します。 System.out.println( calendar ); // java.util.GregorianCalendar[time=1139049256847,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Tokyo",offset=32400000,dstSavings=0,useDaylight=false,transitions=0,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2006,MONTH=1,WEEK_OF_YEAR=5,WEEK_OF_MONTH=1,DAY_OF_MONTH=4,DAY_OF_YEAR=35,DAY_OF_WEEK=7,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=7,HOUR_OF_DAY=19,MINUTE=34,SECOND=16,MILLISECOND=847,ZONE_OFFSET=32400000,DST_OFFSET=0] } } // publicクラスでなければソースファイル内に // いくつあっても構いません。 class Sample2 { } /* この構成のうち、「package」→「import」→「クラス」の順番は 決まっています。 package test; // (1) import java.util.Calendar; // (2) public class Sample{} // (3) 順序が入れ替わるとコンパイルエラーになります。 */ // import java.util.Date; // コンパイルエラー: // キーワード "import" に構文エラーがあります。正しくは "interface", "class" です。 /* 上記のようにコンパイルエラーになります。 また、publicクラスはソースファイルにつき1つですが、 publicでないクラス(無印クラス)はいくつあっても構いませんし、 publicクラスも含めて、クラス内での順番は問いません。 */