Mono Works

チラシのすきま

メモ:Java メソッドの基本

メソッドという言葉をよく見かけます。ぼんやりとしたイメージしかありませんでしたが、あらためてお勉強したので、今回は、メソッドの基本についてメモします。さっそくですが、基本形となるこちらのプログラムからスタートです。

class SampleForMethod {
  public static void main(String[] args) {
    System.out.println("これはメインメソッドです。");
  }
}

このプログラムを各要素の名前で表現すると、こんな感じになります。

クラス名 {
  メソッド名() {
    メソッドの機能をここに記述;
  }
}

mainというメソッドは、プログラムを実行すると最初に呼び出される特別なメソッドで、SampleForMethodクラスを実行すると、mainメソッドの機能「System.out.println(“これはメインメソッドです。")」が自動的に呼び出されることになります。

というわけで、最初のプログラムを実行すると、コマンドプロンプトに下記メッセージが表示されます。

これはメインメソッドです。

オリジナルのメソッドを追加

mainメソッドは、最初に実行される機能ですが、それ以外にも自分で作ったメソッドを実行することもできます。例として、下記のように mymethodというメソッドを追加してみました。

class SampleForMethod {
  public static void main(String[] args) {
    System.out.println("これはメインメソッドです。");
  }

  mymethod() {
    System.out.println("これは私が作ったメソッドです。");
  }

}

このままコンパイルすると、「エラー:向こうなメソッド宣言です。戻り値の型が必要です。」というエラーが「mymethod()」に対して出力されます。戻り値は無い(void)ので、mymethodの型として voidを指定します。

class SampleForMethod {
  public static void main(String[] args) {
    System.out.println("これはメインメソッドです。");
  }

  void mymethod() {
    System.out.println("これは私が作ったメソッドです。");
  }

}

コンパイルが通ったので、実行してみると、実行結果は以下のとおりで、mymethodメソッドは実行されていません。

これはメインメソッドです。

オリジナルのメソッドを呼び出す

mainメソッドは、自動で呼び出されますが、それ以外のメソッドは呼んであげる必要があります。そこで、次のように記述します。

class SampleForMethod {
  public static void main(String[] args) {
    System.out.println("これはメインメソッドです。");
    mymethod();
  }

  void mymethod() {
    System.out.println("これは私が作ったメソッドです。");
  }

}

これでコンパイルすると、今度は「エラー: staticでないメソッド mymethod()をstaticコンテキストから参照することはできません」というエラーが「mymethod()」に対して出力されます。というわけで、今度は、下記のように staticを追加します。

class SampleForMethod {
  public static void main(String[] args) {
    System.out.println("これはメインメソッドです。");
    mymethod();
  }

  static void mymethod() {
    System.out.println("これは私が作ったメソッドです。");
  }

}

これでようやくコンパイルも通って、プログラムを実行すると、コマンドプロンプトに下記メッセージが表示されました。

これはメインメソッドです。

これは私が作ったメソッドです。

途中「staticコンテキスト」という見たことがある気がするけど意味が分からない単語も出てきましたが、ひとまず今日はこのへんで。

コメント

コメントなどありましたら、GitHubのディスカッションへお願いします。(書き込みには、GitHubのアカウントが必要です)
執筆者
"ぽぽろんち" @pporoch
pporoch120
Mono Worksの中の人。好きなことをつらつらと書き留めてます。
ギターを始めてから 練習動画をYouTubeにアップしてます。ご笑納ください。
"DQX@ぬここ(UD487-754)、コツメ(NO078-818)"
採用案内