「インスタンスの中にフィールドがある」というイメージができたら、今度はメソッドについて見てみましょう。
メソッドを作ろう!
まずはメソッドを作ってみましょう。
/**
* メソッド1つだけ持つクラス。
*/
class HasMethod
{
/**
* "Hello world!"と出力するメソッドです。
*/
void printHello()
{
System.out.println( "Hello world!" );
}
}
/**
* 実行用クラス。このクラスを実行してください。
*/
class HasMethodRunner
{
public static void main( String[] args )
{
// HasMethodクラスの参照型変数とインスタンスを作ります。
HasMethod ref = new HasMethod();
// printHello()メソッドを呼び出します。
ref.printHello();
// 出力結果:
// Hello world!
}
}
// HasMethodRunner.java /** * メソッド1つだけ持つクラス。 */ class HasMethod { /** * "Hello world!"と出力するメソッドです。 */ void printHello() { System.out.println( "Hello world!" ); } } /** * 実行用クラス。このクラスを実行してください。 */ class HasMethodRunner { public static void main( String[] args ) { // HasMethodクラスの参照型変数とインスタンスを作ります。 HasMethod ref = new HasMethod(); // printHello()メソッドを呼び出します。 ref.printHello(); // 出力結果: // Hello world! } }
このプログラムのHasMethodRunnerクラスは「メソッド」を1つ持っています。
* "Hello world!"と出力するメソッドです。
*/
void printHello()
{
System.out.println( "Hello world!" );
}
/** * "Hello world!"と出力するメソッドです。 */ void printHello() { System.out.println( "Hello world!" ); }
「void printHello(){ ~ }」の部分を「メソッド」といい、計算や出力といった様々な処理を行います。
メソッドはフィールドと同じように、クラスの中に書きます。
一番シンプルなメソッドの書き方は「void メソッド名(){ 中身 }」となります。
このプログラムでは「中身」に「Hello world!」と出力する処理を書いています。
メソッドは、フィールドと同じようにインスタンスの中に作られます。
そのため、メソッドを使うためにはまずインスタンスを作る必要があります。
HasMethod ref = new HasMethod();
// HasMethodクラスの参照型変数とインスタンスを作ります。 HasMethod ref = new HasMethod();
インスタンスを作る方法はこれまでとまったく同じです。
インスタンスを作ると、インスタンスの中にメソッドが作られます。
インスタンスの中にあるメソッドを使う(「呼び出す」と言います)と、メソッドの「中身」が実行されます。
メソッドの呼び出し方は、フィールドと同じように「参照型変数.メソッド名()」と「.」を使って指定します。
ref.printHello();
// printHello()メソッドを呼び出します。 ref.printHello();
フィールドとの違いは、後ろに「()」を付ける所です。メソッド名の後ろに「()」を付けることを忘れないようにしてください。
このようにして、インスタンス内のメソッドを呼び出し、「中身」に書かれた処理を実行することができます。
この例では、printHelld()メソッドの中身に書かれている「System.out.println( "Hello world!" );」を実行して、「Hello world!」を出力しています。
まとめると、メソッドは「何らかの処理をするもの」で、「呼び出す」ことでその処理を実行することができます。
また、メソッドは「インスタンスの中にある」ということを覚えておいてください。フィールドと同じようにメソッドもインスタンスの中にあるので、メソッドを呼び出すためには、必ずインスタンスを作らなければなりません。
このイメージがあとあと重要になるので、必ず覚えておいてください。
「メソッド」そのものの解説はしません
このコンテンツでは、メソッドそのものの解説はしません。
メソッドには、メソッドの中身の書き方の他、引数や戻り値、例外の指定等、知っておかないといけないことが多々ありますが、これらは「オブジェクト指向」とは関係がないため割愛させていただきます。
メソッドについての学習は、本や他サイトをご参考いただければと思います。