この記事の目次
1. メソッドとは
メソッドとは複数の文をまとめ、それを1つの処理として名前をつけたもので、部品の最小単位です。
メソッド利用によるメリット:
2. メソッドの宣言
修飾子 戻り値の型 メソッド名(仮引数型 仮引数名、. . .){
メソッドの本体
}● メソッドの頭部
* 修飾子
| 修飾子 | 意味 |
|---|---|
| public | アクセス制限(どこからでもアクセス可能) |
| protected | アクセス制限(同一パッケージ内のクラス、継承したクラスからのみ可能) |
| default | アクセス制限(同一パッケージ内のクラスからのみ可能) |
| private | アクセス制限(そのクラスからのみ可能) |
| abstract | 抽象メソッド |
| final | オーバーライド不可 |
| static | クラスメソッド |
| synchronized | 同時のたものロック獲得 |
| native | ネイティブメソッド |
| strictftp | 浮動小数点演算を厳密に評価 |
* 戻り値型(return stype)
* メソッド名(method name)
メソッド名の付け方について詳しく見たい方:
| メソッド名の付け方 ../../../java/syntax-and-basic-rules.html?goto=2to4 JAVAの構文を基礎から学ぶ: この記事にJAVAでのコメント、変数名、メソッド名、クラス名などの付け方、JAVAの主なキーワード、出入力、特殊な記号な・・・ |
* 仮引数並び(formal parameter list)
● メソッドの本体(method body)
● 例題
public static void HELLO(){
System.out.println("こんにちは");
}public static int SUM(int a, int b) {
int s = a+b;
return s;
}3. メソッドの呼び出し
● クラス内からのメソッド呼び出し
メソッド名(実引数リスト)
class Home{
//フィールド変数の初期化子
int i = doit();
//別のメソッド
void caller(){
doit();
}
//コンストラクタ
Home(){
doit();
}
//初期化ブロック
{
doit();
}
//メソッド宣言
int doit(){
System.out.println("do it");
return 1;
}
}package helloworld;
public class HelloWorld {
public static void main(String[] args) {
int x = Sum(3,4);
System.out.println(x);
}
static int Sum(int a,int b) {
int s = a+b;
return s;
}
}● 他のクラスからのメソッド呼び出し
クラス名.メソッド名(実引数リスト)
package helloworld;
public class HelloWorld {
public static void main(String[] args) {
int x = HelloWorld2.Sum(3,4);
System.out.println(x);
}
}
class HelloWorld2 {
static int Sum(int a,int b) {
int s = a+b;
return s;
}
}● メソッド呼び出しと引数
メソッド呼び出しと引数の関係を説明します。HelloWorld2クラスを例に、2つの整数の足し算するメソッドを考えます。
package helloworld;
public class HelloWorld {
public static void main(String[] args) {
int x = Sum(3,4);
System.out.println(x);
}
static int Sum(int a,int b) {
int s = a+b;
return s;
}
}言葉を2つ定義します。メソッド定義のパラメータ変数(上はa,b)を仮引数と呼びます。呼び出し側でメソッドに渡すパラメータ(上は3,4)を実引数と呼びます。
4. メソッドの引数、ローカル引数と再帰呼び出し
メソッドの再帰呼び出し:
package helloworld;
public class HelloWorld {
public static void main(String[] args) {
int x = factorial(5);
System.out.println(x);
}
//メソッドfactorialを定義する
static int factorial(int n){
if(n==0){
return 1;
}
return n*factorial(n-1);
}
}120
5. return文-メソッドの戻り値
● 戻り値とは
呼び出されたメソッドから、呼び出し元のメソッドへ値を返すことを「値を戻す」と言います。また、戻されるデータ(値)のことを戻り値と言います。
一般、以下の構文を使用します。
public static 戻り値の型 メソッド名(引数リスト・・・){
メソッドが実行された時に動く処理
return 戻り値;
}● 戻り値をそのまま使う
メソッドの戻り値を変数で受けずに、そのまま使うこともできます。
package helloworld;
public class HelloWorld {
public static void main(String[] args) {
int x = Sum(Sum(1,2),4);
System.out.println(x);
}
static int Sum(int a,int b) {
int s = a+b;
return s;
}
}6. まとめ
皆さん、JAVAのメソッドの便利さと使い方は大体おわかりになりましたか!どの言語でもメソッドは重要で決して欠かせない部分だと思います。この記事に記したメソッドの宣言、呼び出し、引数の扱い方、戻り値などを把握して使いこなせるならいいと思います。
次の記事では配列を扱うメソッドで例題もいくつ述べて説明しているので、とても初心者に役に立つと思います。ぜひご覧ください。
以下はメソッドの基礎に関する演習問題です、ご参考を!
7. 演習問題
メソッドとはの演習問題