Java入門ガイド

05.クラスとメソッド

当コーナーはJavaの基本的な事項を紹介していくものです。

クラスとメソッド

Javaプログラマーはクラスとメソッドを作成することが第一の仕事です。ここでは簡単なJavaのクラスを元にその役割について説明していきます。
まずクラスとはデータが格納される変数を定義したり、処理機能を記述した一つの塊(メソッド) を記述したものです。またはインスタンス(後述)の雛形とも言われます。
Javaプログラムには、最低でも一つのmain() メソッドを含むクラスが必要です。
ここまで作成してきたSampleXXのプログラムもそれぞれがクラスです。
複数のクラスを定義して部品化することも可能です。

まずは以下のコードを記述し「Sample05Sub.java」と言う名前で保存してください。

ここで、import java.util.Date; や Date date = new Date(); など見慣れない言葉が出てきましたが後ほど説明します。
次にメインのクラスを作ります。以下のコードを記述し「Sample05.java」と言う名前で保存してください。

コマンドプロンプトでコンパイル後、「java Sample05]と入力し実行してみます。

obj_Javastart_class001

今日はFri Dec 01 15:34:09 JST 2006と出力されました。

まず、このプログラムの役割を説明します。
①Sample05.javaでサブクラスとなる、Sample05Subのインスタンスをsample05subと言う名前で生成する。
②String型の変数todayStr に対してsample05subのanswerDateメソッドを呼び出す。
この時にSample05Sub.javaが使われます。
メソッドには引数として”今日は”と言うString型の値を与えています。

③sample05subのanswerDateメソッドは、まずDate型のインスタンスdateと言う名前で生成します。
String型の変数answerに、メソッドが受け取ったString型の変数strとdateのtoString()メソッドを
結合して代入し、呼び出された側に返却します。

④Sample05は受け取ったString変数をtodayStrに代入し、System.out.println()で内容を表示する。

  • Sample05Sub sample05sub = new Sample05Sub();と言うコードのことをインスタンス化する、またはnew演算子を利用すると言います。new演算子でメモリ領域を確保し、インスタンスを使える状態にします。
    インスタンスとはクラスの実体をさします。
  • String todayStr = sample05sub.answerDate(“今日は”);と言うコードでインスタンスが持つメソッドを実行します。
    左辺のString todayStr にメソッドを実行した際に返って来る値が代入されます。
    右辺のsample05sub.answerDate(“今日は”)はメソッドの呼び出しです。
    インスタンス名.メソッド名(引数)の形でコーディングします。
  • さて呼び出される側のSample05Sub.javaですが、import java.util.Date;と言うコードがあります。
    この構文は一般的にはimport文と呼ばれています。
    Java APIに含まれるクラスを利用するにはこのimport文を使って「このプログラムではこのクラスを使います。」と言うことを宣言します。
  • API(Application Programmer Interface)とはプログラムを書くときに使用するライブラリ群のことです。
    数多くのクラスが提供されています。
  • Sample05Sub.javaではDate date = new Date();と言うコードがあるので「Dateクラスを使います。」と言う宣言をおこなっているのです。
  • String型の変数answerに 引数str と dateオブジェクトのtoString()メソッドを利用して「曜日 月 日 時 分 秒 タイムゾーン 西暦」 を取得しています。
    ”今日は”と日付のStringオブジェクトとを結合しています。
    そしてその変数answerをreturn文を用いてメインクラスに返却しています。
  • Sample05.javaのSystem.out.println(todayStr);でtodayStrの内容の「今日はFri Dec 01 15:34:09 JST 2006」が出力されます。