Javaの道 Javaに関する
 ニュースJava基本Servlet・JSPオープンソースFAQ掲示板
Javaの道 > Java基本 > クラス −5.メソッド
更新日:2005/7/25
クラス−5.メソッド
このページでは、クラスの主要構成要素の1つであるメソッドの宣言方法について説明を行います。メソッドの参照方法についてはオブジェクトの参照を閲覧してください。
宣言
メソッドはクラスが持つ振る舞いを担うものです。例えばコンピュータークラスにおいては演算処理、I/O処理が該当します。メソッドの宣言は以下の枠内のフォーマットで構成されています。メソッドは宣言部分と本体に分けることができます。宣言部分はフォーマットの「戻り型 メソッド名 (引数型 引数名)」にあたる部分でそのメソッドに対する他の構成要素との関連、属性を決定します。本体はフォーマットの「{ メソッド本体 }」にあたる部分でそのメソッドの実際の処理を記述します
戻り型 メソッド名 (引数型 引数名) {
  メソッド本体
};
以下にメソッドの宣言部分の各要素について説明します。

1.戻り型
メソッドの呼び出し元に値を返す場合、その値の型を記載します。何の値も返さない場合はvoid型を記載します。
void show() {  //(1)値を返さないため、戻り型はvoid
  //(2)calculate(10)でメソッドcalculateの呼び出し
  System.out.println(calculate(10));
}

int calculate(int x) {  //(3)呼び出し元に返す値の型intを宣言
  int answer = x * 10;
  return answer;  //(4)return文で値を返す。
}
※関連ページ:break、continue、return
2.(引数型 引数名)
メソッド呼び出し元から渡された値をメソッド内で実行させるために記載します。引数型は渡される値の型、引数名は渡される値をメソッド内で使用する際の変数名を表します。渡される値がない場合は単に( )を記載します。
void show() {  //(1)渡される値がないため()を記載
  //(2)calculate(10)でcalculateメソッドに値10を渡します。
  System.out.println(calculate(10));
}

//(3)値10をint型変数xで受け、メソッド内で使用します。
int calculate(int x) {
  int answer = x * 10;
  return answer;
}
※メソッドの宣言部分に様々な修飾子を付与し、メソッドの持つ他の構成要素との関連属性を指定することができます。以下にその修飾子を記載します。

【メソッド宣言時に付与できる修飾子】※修飾子は上から宣言する順に並んでいます。
修飾子
説明
アクセスレベル
アクセスレベルを指定することにより、メソッドを他のクラスから参照できないなどを指定できるようになります。詳細はアクセスレベルを参照してください。
static
メソッドがインスタンスメソッドではなく、クラスメソッドであることを表します。クラスメソッドの詳細はstaticを参照してください。
abstract
処理を実装しないメソッド(抽象メソッド)を生成したい時に使用します。詳細はabstractを参照してください。
final
finalを使用した場合、そのメソッドはサブクラスでオーバーライドすることができません。詳細はfinalを参照してください。
native
C言語など他の言語で記述されたプログラムをJavaプログラム内で使用したい時に使います。使用したいプログラムにnativeを付け宣言します。
synchronized
スレッドを複数同時に走らせる際に同じデータに対し複数のメソッドが呼び出される場合があります。そのような場合、安全にメソッドが実行されるためにsynchronizedを使用します。詳細はスレッドの同期化を参照してください。
戻り型
メソッドを実行した結果をメソッド呼び出し元に返すことができます。ここでは返す値のデータ型を指定します。返す値がない場合はvoid型を使用します。戻り型は宣言時の必須項目です。
メソッド名
メソッド名を宣言します。メソッド名は慣例的に小文字から始め、単語の切れ目は大文字を使用します。またメソッド名として動詞がよく使われます。メソッド名は宣言時の必須項目です。
(引数型 引数名)
メソッドに値を渡したい時に、渡したい値の引数型、引数名を宣言します。渡したい値がない場合は( )のみを記載します。(引数型 引数名)は宣言時の必須項目です。
throws 例外名
メソッドで何らかの例外をスローする際に使用します。詳細はthrows、throwを参照してください。
【例1】メソッドの宣言例です。
static boolean methodA() {
  -------------------------
}
//戻り型としてboolean型を返すクラスメソッドmethodAを宣言し
//ています。

public void methodB(double d1, double d2) {
  -------------------------
}
//アクセスレベルがpublic(すべてのクラスから参照できる)で、
//double型の引数d1、d2を持ち、戻り型を持たない(void)メソ
//ッドmethodBを宣言しています。

abstract double methodC(double d);
//メソッド本体の実装を持たない抽象メソッド(abstract)で、
//戻り型がdouble型、引数にdouble型の引数dを持っているメソ
//ッドmethodCを宣言しています。 



このページのトップへ
 ニュースJava基本Servlet・JSPオープンソースFAQ掲示板
Javaの道_CopyrightJavaの道