[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][Eclipse] Mavenが利用可能な動的Webプロジェクトの作成

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

記事を読む

no image

[Java] Apache POIでExcel操作!

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

記事を読む

no image

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

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

記事を読む

no image

[Java] テキストファイルの読み込み方法

こんにちは、今回はテキストファイルをJavaで読む方法を紹介します。 標準で提供されているクラ

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

no image

[Java][Servlet][JSP] ServletからJSPへの転送

こんにちは。 今回は、「Servletでリクエストを受けて、JSPで表示する。」方法を解説しま

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

スポンサードリンク

Message

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

スポンサードリンク

no image
CentOSにdockerをインストールしてみた

前置き dockerをcentos7にインストールしてみました

no image
awkでのgsubを使った文字列置換(正規表現)

まえおき bashなどのシェルスクリプトで、lsした結果とかを

no image
bashで並列処理する方法(xargs)

並列処理とは 通常、意識せずにプログラムを書くと、大体の場合は

no image
AWS Redshiftの使用ストレージ容量をクエリで調べる方法

用途 AWS Redshfitのコンソールを見れば、使用中のス

no image
pythonでstorage transfer serviceを使ってみた。

準備 pythonのインストールとかする。 このあたり。

→もっと見る

  • 2024年11月
     123
    45678910
    11121314151617
    18192021222324
    252627282930  
  • 2024年11月
     123
    45678910
    11121314151617
    18192021222324
    252627282930  
PAGE TOP ↑