[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] 文字列の分割(split)

こんにちは。 今回は、文字列の分割について解説します。 昔はStringTokenize

記事を読む

no image

[Java][MySQL] JavaからMySQLを使う方法

MySQLは、フリーでありながら商用としても使用できるパワーを持つデータベース(RDB)です。

記事を読む

no image

[Java][Framework] Spring BootのJPAでDB接続した際のEntityキャッシュのクリア方法

Spring BootのJPAでDBアクセスした際に、処理を一定量こなすと、Heapが足りなくな

記事を読む

no image

[Java][Servlet] EclipseでのJavaServlet作成

こんにちは、今回はEclipseを使用してJavaServletを作成します。 Eclipse

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

スポンサードリンク

Message

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

スポンサードリンク

no image
[git] Windowsへのインストール(Git for Windows)

概要 Windows環境にGitをインストールします。 インストー

no image
[Fluentd] WindowsにFluentdをインストールする

WindowsにFluentdをインストールしたときのメモ 参考にさ

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

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

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

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

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

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

→もっと見る

  • 2018年12月
    « 6月    
     12
    3456789
    10111213141516
    17181920212223
    24252627282930
    31  
  • 2018年12月
    « 6月    
     12
    3456789
    10111213141516
    17181920212223
    24252627282930
    31  
PAGE TOP ↑