SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

HRzine Day(エイチアールジン・デイ)は、人が活き会社が成長する人事のWebマガジン「HRzine」が主催するイベントです。毎回、人事の重要課題を1つテーマに設定し、識者やエキスパードが持つ知見・経験を、参加者のみなさんと共有しています。

直近開催のイベントはこちら!

HRzine Day 2024 Winter

2024年2月1日(木)12:00~17:40

主要製品スペック一覧

人事業務の効率・確度・精度を高めるために欠かせないHRテクノロジー。その主な製品の機能を分野ごとに比較できる資料群です。製品検討の参考資料としてご活用ください。

人事労務管理システム<br>主要製品スペック一覧 2023

人事労務管理システム
主要製品スペック一覧 2023

その他のスペック一覧

タレントマネジメントシステム<br>主要製品スペック一覧 2023

タレントマネジメントシステム
主要製品スペック一覧 2023

採用管理システム<br>主要製品スペック一覧 2023

採用管理システム
主要製品スペック一覧 2023

みちこ先生のオラクル認定Javaプログラマ Silver SE 7/8 合格コース | 第2回

【認定Java Silver】staticメンバを理解する


  • Facebook
  • Twitter
  • Pocket
  • note
  • hatena

本記事の目次本記事の目次

あともう一言:なぜmain()メソッドにstaticを付けるのか

Java言語の勉強を始めた筆者の若かりしころ、main()メソッドになぜstaticを付けるのか不思議でした。先輩に聞いても「仕様だから」という返事。でも、staticをしっかり理解したときに納得できました。

理由は、Java実行環境(JVM)はクラスを実行するとき、そのクラスを自動的にはインスタンス化しないためです。Java実行環境が最初に実行するmain()メソッドは、インスタンス化なしにアクセスできるstaticメソッドでなければなりません。

例えば、main()メソッドを持つTestクラスをコンパイル後、java Testコマンドで実行すると、Java実行環境はTest.main()というstaticメソッドを最初に呼び出そうとします。ここでmain()メソッドが非staticメンバだと、最初に実行すべきメソッドにアクセスできず、プログラムは動き出せません(エラーになります)。

main()メソッドのアクセス修飾子、戻り値、引数リストは、Java言語の仕様で決められています。この仕様に従う必要がある理由をまとめておきます。

public どこからでも呼び出せる → main()メソッドはJava実行環境が呼び出すため、パッケージが異なってもアクセスできなくてはいけない
void Java実行環境に返す戻り値はない
main javaコマンド実行時は、Java実行環境がクラス名.main()と呼び出す仕様になっており、名前を合わせる必要がある
String[] args もし、実行時にコマンドライン引数があれば、String型の配列でJava実行環境がプログラムへ渡す仕様になっている

 次回は「オーバーロードとオーバーライド」を取り上げます。お楽しみに。

この記事は参考になりましたか?

  • Facebook
  • Twitter
  • Pocket
  • note
  • hatena
みちこ先生のオラクル認定Javaプログラマ Silver SE 7/8 合格コース連載記事一覧

もっと読む

この記事の著者

山本道子(ヤマモト ミチコ)

2004年Sun Microsystems社を退職後、有限会社Rayを設立し、システム開発、インストラクタ、執筆業などを手がける。著書に『オラクル認定資格教科書 Javaプログラマ Bronze SE 7/8』『同Silver SE 8』『同Gold SE 8』のほか、『SUN教科書 Webコンポーネントディベロッパ(SJC-WC)』、『携帯OS教科書 Androidアプリケーション技術者ベーシック』、『Linux教科書 LPICレベル1 スピードマスター問題集』(共著)、監訳書に『SUN教科書 Javaプログラマ(SJC-P)5.0・6.0 両対応』(いずれも翔泳社刊)などがある。月刊誌『日経Linux』(日経BP社刊)でLPIC対策記事を連載。日々の楽しみは晩酌、好きな言葉は表面張力。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事をシェア

  • Facebook
  • Twitter
  • Pocket
  • note
  • hatena
HRzine
https://hrzine.jp/article/detail/48 2017/12/24 16:49

Special Contents

AD

Job Board

AD

おすすめ

アクセスランキング

アクセスランキング

イベント

HRzine Day(エイチアールジン・デイ)は、人が活き会社が成長する人事のWebマガジン「HRzine」が主催するイベントです。毎回、人事の重要課題を1つテーマに設定し、識者やエキスパードが持つ知見・経験を、参加者のみなさんと共有しています。

2024年2月1日(木)12:00~17:40

イベントカレンダーを見る

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング