>> Java入門トップに戻る

パッケージ、クラスの作成、mainメソッド

Javaアプリケーションの基本とパッケージやクラスの作成、mainメソッドについて説明します。

クラスとパッケージ

クラスとは複数の変数やメソッドをまとめて管理できるようにしたものです。
C++やPHPなどでは「クラス」を定義しなくても、プログラムとして動作させることは出来ましたが、Javaのプログラムを書くには基本的に「クラス」が必要になります。
Javaのプログラムはこの「クラス」の集合体というわけです。
また、Javaでは「ソースコードを記述したファイルの名前はそのファイルに記述したpublicなクラスと同じ名前にしなければいけない」というルールがあります。

次に、このクラスを階層的にまとめるために「パッケージ」というものも必要になります。
クラスを沢山作った場合、階層的に分けておいたほうが管理しやすいですよね?
簡単な話、フォルダのようなものだと思っていただければいいです。

クラスとパッケージの作成

それでは、まずパッケージとクラスを作成してみましょう。
Eclipseを起動して、「ファイル」→「新規」→「Javaプロジェクト」を選択します。
プロジェクト作成画面が開くので、プロジェクト名を入力して「完了」を押します。

次に作成されたプロジェクトを展開し、「src」アイコンを右クリックして「新規」→「パッケージ」を選択します。

パッケージ作成画面でパッケージ名を入力します。
なお、パッケージ名の最初の文字は小文字が推奨されています。
これでパッケージの作成は完了です。

次にクラスの作成です。
先程作成したパッケージを右クリックして「新規」→「クラス」を選択します。

次に以下の様なクラス作成画面が開くので、「名前」欄にクラスの名前を書きます。
また、今回は「mainメソッド」も作成するので、「Public static void main~」のチェックボックスにチェックを付けます。
※mainメソッドを作成しない場合はチェックは必要ありません

完了」ボタンを押すとクラスが作成され、以下の様なソースコードが生成されます。
package base;

public class Sample {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ

	}

}
package パッケージ名」というのは、現在このクラスがあるパッケージの場所を指しています。
public」というのはアクセス修飾子です、このクラスやメソッドが利用可能な範囲を示しています。
これについては後ほど詳しく説明します。

mainメソッド

public static void main(String[] args){}」というのがこのクラスの「mainメソッド」です。
mainメソッドとは、Javaアプリケーションでクラスを起動した時に一番最初に実行されるメソッドです。
Javaアプリケーションを起動すると、Java仮想マシンと呼ばれるものが起動したクラスからmainメソッドを探して実行してくれるというわけです。
それではこのmainメソッドにコードを書いてみましょう。
package base;

public class Sample {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ

		System.out.println("こんにちは");

	}

}
このコードを実行すると、コンソールに「こんにちは」と出力されます。
実行」は上部メニューの「実行」メニューか上部の丸い緑に白い三角形が描かれたアイコン、または「Ctrl + F11」のショートカットで実行できます。
無事にmainメソッド内のプログラムが実行されました。

このクラスにはmainメソッドしか書いていませんが、他のメソッドやフィールドを定義することが出来ます。
mainメソッド内では基本的に他のメソッドを呼び出したり、クラスを生成したりするコードを書くのが普通です。
他のメソッドやフィールドの定義方法はまた後ほど説明するので、この後学習するjavaの基本文法に関してはとりあえずこのmainメソッド内に書いていってください。

パッケージの中にパッケージを作成、階層表示

先程パッケージを作成しましたが、階層のようにパッケージの中にパッケージを作成することも出来ます。
作成したパッケージを右クリックして「新規」→「パッケージ」を選択します。
以下のようなパッケージ作成画面が開くので、名前欄に、例えば「base」パッケージ内に「test」というパッケージを作成したいなら「base.test」と入力します。

完了」を押すとパッケージが作成されますが、Eclipseのデフォルト設定だとパッケージエクスプローラーでの表示が階層表示になっていません。
なので階層表示にしてやる必要があります。
方法はパッケージエクスプローラーの右上にある下向き三角形のアイコン(▽)を押して、「パッケージプレゼンテーション」→「階層」を選択します。

これで階層表示に出来ます。
なお、この状態でtestパッケージにクラスを作成すると以下の様なコードになります。
package base.test;

public class Sample {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ

	}

}
package base.test」となっていますね。
baseパッケージ内のtestパッケージにこのクラスが存在しているというわけです。

このようにパッケージを複数作ってクラスを階層的に管理することが可能です。

>> 【変数の宣言、代入、コメント】に進む
>> Java入門トップに戻る
●更新履歴
2016/08/16 Java入門ページにページを幾つか追加
2016/04/08 Java入門ページ作成
2016/03/09 メニューレイアウト変更。ブラウザキャッシュのクリアをお願い致します。
2016/03/09 PDOトランザクション、自動コミットモードをオフ追加
2016/03/09 PDO 例外処理 try catch追加
2016/03/09 PDO update文実行追加
2016/03/09 PDO delete文実行追加
2016/03/09 PDO insert文実行追加
2016/03/09 PDO selectでデータを取得、fetchAll、queryメソッド追加
2016/03/09 PDO bindValueとbindParamの違い追加
2016/03/09 PDO prepare プリペアドステートメントの使い方追加
2016/03/04 ソースコードをクリップボードにコピーする機能を追加
2016/03/04 C言語、C++のページのソースコードを一部修正
2014/01/31 C言語関数一覧ページに11ページほど追加
2014/01/31 C言語関数一覧ページに30ページほど追加
2014/01/30 C言語関数一覧ページ作成中
2013/07/01 レイアウト変更に伴いブラウザキャッシュのクリアをお願いします。
2013/07/01 MySQL入門ページ作成
2013/07/01 PHP入門ページにSQLite学習項目追加
2013/06/25 ドメイン変更、レイアウトを一部変更
2013/03/14 レイアウトを一部変更
2012/08/13 C言語よくある課題・宿題ページ開設!
2012/08/13 シューティングゲーム作成第33章追加!
2012/08/11 ドメイン変更&サーバ移設完了
2012/04/21 シューティングゲームプログラミング第2,3章の内容を修正
2012/04/19 シューティングゲームプログラミング第2章の内容を修正
2012/04/03 Googleカスタム検索を設置!
2012/04/03 シューティングゲームプログラミング第32章追加!
2012/04/03 シューティングゲームプログラミング第31章追加!
2012/03/31 サイトをリニューアルしました!
2012/03/25 シューティングゲームプログラミング第30章追加!
2012/03/19 シューティングゲームプログラミング第29章追加!
2012/03/16 シューティングゲームプログラミング第28章追加!
2012/02/27 シューティングゲームプログラミング第27章追加!
2012/02/03 シューティングゲームプログラミング第26章追加!
2012/01/31 シューティングゲームプログラミング第25章追加!
2012/01/20 シューティングゲームプログラミング第23,24章追加!
2012/01/11 シューティングゲームプログラミング第22章追加!
2012/01/05 トップページ、ゲームプログラミング関連のトップページのデザインを変更
2012/01/04 シューティングゲームプログラミング第21章追加!
2012/01/01 シューティングゲームプログラミング第20章追加!
2011/12/25 シューティングゲームプログラミング第19章追加!
2011/12/22 シューティングゲームプログラミング第18章追加!
2011/12/18 シューティングゲームプログラミング第17章追加!
2011/12/17 シューティングゲームプログラミングページOPEN!
2011/11/21 ゲームプログラミングページOPEN!
2011/11/21 サイトデザインを大幅に変更
2011/11/17 TOPページのデザインを変更。相互リンクページに、複数サイト追加。
2011/11/06 WINAPI学習ページ(33~36章)追加
2011/11/05 WINAPI学習ページ(20~32章)追加
2011/10/27 WINAPI学習ページ(14~19章)追加
2011/10/21 WINAPI学習ページ(13章)追加
2011/10/21 サイトマップ、連絡ページ追加
2011/10/17 WINAPI学習ページ(6~11章)追加
2011/10/16 WINAPI学習ページ(1~5章)追加
2011/10/13 全体のレイアウト変更
2011/10/07 PHP学習ページ(8~11章)追加
2011/10/06 PHP学習ページ(1~7章)作成
2011/10/06 JavaScriptリファレンスページ作成
2011/10/05 C言語学習ページ発展編(10~14章)追加
2011/10/04 C言語学習ページ発展編(1~9章)追加。
2011/10/03 HTML/CSSリファレンスのページ追加。(個々の詳細ページは作成中)
2011/09/30 HTML学習ページ(8章)追加
2011/09/29 JavaScript学習ページ(12~17章)追加
2011/09/28 JavaScript学習ページ(1~11章)追加
2011/09/27 HTML学習ページ(4~7章)追加
2011/09/26 C言語学習ページ(27章)追加、C++学習ページ(17章)、HTML学習ページ(1~3章)追加
2011/09/25 C言語学習ページ(23~26章)を追加
2011/09/24 C++学習ページ(9~16章)追加
2011/09/23 C++学習ページ(3~8章)追加
2011/09/22 C言語の学習ページ(22章)とC++学習ページ(1~2章)追加
2011/09/21 C言語の学習ページ(15章~21章)を追加
2011/09/20 C言語の学習ページ(10章~14章)を追加
2011/09/19 サイト作成(随時更新予定)