[Java][基本] mainメソッドの書き方

公開日: : Java, 基本

こんにちはkeiです。

Javaの基本として、意外と知らないmain関数について解説します。

特にWeb系エンジニアにとって、main関数はコンテナがやってくれるので
普段は必要ありません。
そこで、「ちょっとバッチ系プログラムを書きたい」となったときに
あれ?mainってどう書くんだっけ?と思ったエンジニアは少なからずいるはずです。
(わたしもそんな思いでがあります)

と、いうことでベーシックな書き方です。

public class MainClass {
	public static void main(String[] args){
		// BusinessClassクラスを作成
		BusinessClass business = new BusinessClass();

		// executeメソッド実行
		business.execute();
	}
}

public class BusinessClass {
	public void execute(){
		System.out.println("BuisinessClassクラスのexecute()メソッドが実行されました。");
	}
}

●解説

MainClassクラスは、mainメソッドを内包するクラスになります。
クラス名は何でもよいです。

ただし、メソッド名だけは以下内容で固定になります。
「public static void main(String[] args)」 ※String args[]でもまぁ良し。

次に、BusinessClassクラスをnewしています。

BusinessClassクラスは、実処理を書いたクラスを想定しています。
今はサンプルなので、システムアウトだけを書いていますが、
この中に処理したいことを書けばよいでしょう。

最後にexecuteメソッドを実行して完了となります。

とても簡単でしたね。

●短縮記述

上記の例では2クラス使ってプログラムを作成しました。
しかし、簡易な処理を書く際は1クラスで纏めたいときもあります。

最後にその例を紹介します。

public class BusinessClass {

	public static void main(String[] args){

		// BuisinessClassクラスを作成
		BusinessClass business = new BusinessClass();

		// executeメソッド実行
		business.execute();
	}

	public void execute(){

		System.out.println("BuisinessClassクラスのexecute()メソッドが実行されました。");
	}
}

main関数で自分自身をnewします。
その後、executeメソッドを実行するだけです。
「自分自身なんだから、別にnewしなくてもexecuteメソッド呼べばいいじゃん」
と思った方は、オブジェクト指向が理解出来ていないと思われます。

簡単に書くと、
mainはstaticメソッドなので、まだVMにインスタンス化されていません。
executeは実メソッドなので、newしてインスタンスを作成してから、
そのインスタンスに対してexecuteメソッドを呼ぶ必要があります。

と、いうことで、このあたりは今度別稿を設けようと思います。

今回はここまで。

スポンサードリンク

関連記事

no image

[Java][JSP] EclipseでのJSP作成

今回は、Eclipseを用いてJSPを作成してみます。 まず、Eclipseを起動します。

記事を読む

no image

[Java] Apache POIでExcel操作!

Apache POIをまずは使ってみようという方(自分も含め)のメモ 導入 Maven htt

記事を読む

no image

[Java] クラスとインスタンス

こんにちは。 クラスとインスタンスについて解説します。 インスタンスは「オブジェクト」とも言

記事を読む

no image

[Java][基本] ループ処理(for文)

Javaのループ処理の基本である、for文を解説します。 ●文法 for( [①初期化];

記事を読む

no image

[Java][Spring] Spring3でDIしてみる!(アノテーション使用)

Spring3を使って、一番基本的な形のプログラムを作成してみます。 今回は、アノテーションを

記事を読む

no image

[Java] CSVファイルの読み込み方法

こんにちは、kei0310です。 CSVファイルをJavaに取り込む方法を解説します。

記事を読む

no image

[Java][Eclipse] Mavenが利用可能な動的Webプロジェクトの作成

こんにちは、keiです。 今回は、Mavenが利用可能な動的Webプロジェクトの作成について解

記事を読む

no image

[Java] 日付の計算方法(DateFormat、Date、Calendar)

こんにちは、kei0310です。 Javaで日付を計算する方法について解説します。 まず

記事を読む

no image

[Java][Jersey] JerseyでRESTfulなJAX-RS Webサービス作成

こんにちは、keiです。 今回はRESTfulなWeb Serviceの作成を行っていきます。

記事を読む

no image

[Java][Spring] DIする方式を細かく見てみる① @ScopeでのSingletonとPrototypeの指定

今回は@Scopeアノテーションを用いて、オブジェクトをDIする方式を選択してみます。 ●解説

記事を読む

スポンサードリンク

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

スポンサードリンク

no image
[Re:dash] BigQuery接続で日本語タイトルを出す(v2.0.0)

BigQueryは現在マルチバイトを含むSQLを発行することができない

no image
[Python] Nullの判定方法(None)

Nullの判定方法(None) 表記方法 Pythonでは、Nul

no image
[Python] 型の検査・判定

Pythonでの型の検査・判定方法 isinstance サン

no image
[python] 日付の取り扱い(datetime) 現在日付、計算、文字列変換(format)

現在日付 日付の計算 [crayon-5b054c8f1db7

no image
[python] 文字列結合

pythonでの文字列結合 サンプル

→もっと見る

  • 2018年5月
    « 10月    
     123456
    78910111213
    14151617181920
    21222324252627
    28293031  
  • 2018年5月
    « 10月    
     123456
    78910111213
    14151617181920
    21222324252627
    28293031  
PAGE TOP ↑