[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][Jersey] JerseyでRESTfulなJAX-RS Webサービス作成

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

記事を読む

no image

[java] 文字列の一部を切り取る方法(substring)

こんにちは。 今回は文字列の一部を切り取る方法について解説します。 具体的には、String

記事を読む

no image

[Java] Apache POIでExcel操作!

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

記事を読む

no image

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

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

記事を読む

no image

[Java] Javaのインストール(プログラム開発・入門用)

Javaのコードを書きたい!! という目的のためのJavaのインストール方法と、コマンドラインでの

記事を読む

no image

[Java] StringBuilderの使い方(Stringを連結するクラス)

今回は、可変長文字列クラスのStringBuilderを紹介します。 固定長文字列クラスのSt

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

スポンサードリンク

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-5a165ce25618

no image
[python] 文字列結合

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

→もっと見る

  • 2017年11月
    « 10月    
     12345
    6789101112
    13141516171819
    20212223242526
    27282930  
  • 2017年11月
    « 10月    
     12345
    6789101112
    13141516171819
    20212223242526
    27282930  
PAGE TOP ↑