<<目次次ページ>>
ハロー、標準ライブラリ
〜java.lang.Math〜
 ハロー、とは言っても、実は基礎編でいくつも標準ライブラリのクラスを使ってきました。ここでは標準ライブラリのAPIドキュメントの見方を中心に解説します。
こまめにね
 Javaには標準ライブラリとしてたくさんの便利なクラスが用意されています。これらを使わずにアプリケーションを作ろうとするのは、田舎で車なしの生活をするようなものでしょう。まず私の住む所では不可能です。
 基礎編でもいくつか登場しました。パッケージjava.langのクラスで、String(第11章)、Object(第18章)、Math(第20章)、そして一番登場回数が多かったのがSystem。これはもっぱら

   System.out.println(“何とか”);

の形で登場しました。話はずれますが、基礎編では文法中心でしたので、ただ意味のない出力をしてお茶を濁していましたが、ここからは少しずつプログラミングっぽい例を載せられたらな、と思っています。

 標準ライブラリには膨大な数のクラスが用意されています。主なクラスの主な働きを抑えておけば、あとはAPIドキュメントJava5.0はこちら)を調べることで対処しましょう。ブックマークに追加しておき、億劫がらずこまめに見るようにしましょう。

 APIドキュメントの最初のページは次のようになっています。(フレームありの場合)



 目的のクラスの説明までたどり着くには、いくつかの方法があります。
 まずいきなりクラス一覧から捜してもいいですが、アルファベット順に並んだたくさんのクラスをスクロールしていくのも芸がないですね。では左上のパッケージ名一覧から、クラスの属するパッケージを選択してみましょう。表示されるクラスがグッと減るので、少しスマートに探せます。目当てのクラスをクリックすれば、細かい説明が表示されます。
 他に上の索引から探すこともできます。クラスもメソッドも何もかもごちゃまぜで出てきます。クラスを探すのであれば上の方法の方がいいでしょう。

 クラスの説明も頭から全部見ることはまずないでしょう。コンストラクタはどんなのがあったっけ、とか、こんなことできるメソッドあったかしら、などと目的の部分を中心に見るのですが、へえ、こんなのもあったんだ、などと意外と見入ってしまうこともあります。その中でも最初の概要説明はコンパクトにまとまっていて、初めてそのクラスを使うときなど目を通しておくのもいいでしょう。


数学は苦手?

 ではjava.lang.Mathを例に見ていきましょう。Mathの概要説明、特に後半部分は数値計算で厳密に浮動小数点計算しなければならないときの話なので、興味のある方は読んでみてください。

 解説の頭に戻って、まずクラス名の下に、java.lang.Objectまでさかのぼる階層があります。ご先祖様がわかる系図みたいなものですね。MathはObjectの直接のサブクラスであることがわかります。さらにその下に、クラスの宣言の先頭部分があります。

   public final class Math
   extends Object
   
 これを見ただけで、スーパークラスはObject、finalだからサブクラスは作れないのだ、ということがわかります。アクセス修飾子はもちろんみんなが使えるpublicです。

 そこから下には、フィールド、コンストラクタ、メソッドの一覧があります。ここで名前をクリックすると、下にある詳細な解説にジャンプできます。

 フィールドとは基礎編で登場した、インスタンス変数+クラス変数(→基礎編 第20章)と考えてください。「final」なクラス変数として「E」と「PI」があります。これは自然対数の底eと円周率の値が設定された定数として、「Math.E」「Math.PI」のように使えます。
 メソッドの概要をざっと見ると、どのメソッドも「static」がついているので、クラスメソッドであることがわかります。(→基礎編 第20章)つまりMathのインスタンスを生成せず、クラス名で呼び出すことができます。

   Math.abs(-2.2)

で-2.2の絶対値2.2が求められます。どおりでコンストラクタの解説がないはずです。またスーパークラスから受け継いだメソッドの一覧などもあります。丁寧にリンクが設定されているので、すぐに飛んでいって調べることができます。
 ここまでは働きに関係なくアルファベット順に並んで表示されます。

 その下に、上の一覧からのジャンプ先の詳細説明があります。ここはだいたい機能別にまとまっています。メソッドの説明の中で「パラメータ」とは仮引数のことです。Mathの場合、パラメータと戻り値の説明を見れば、どんなデータを与えれば、どんな計算結果を出してくれるかがわかります。

 標準ライブラリには、クラスもたくさんありますが、それ以外に、多くのinterfaceや例外もあります。「よーし、一から自分で作るぞ!」などと意気込む前に、使えるものがないか調べてみましょう。また是非Jakarta Projectをチェックしてみてください。ここではたくさんのプロジェクトが動き、さまざまな成果を上げています。


おすすめしませんって???

 Mathにはありませんが、APIドキュメントを見ていると、時々「推奨されていません。」というメソッドやクラスを見かけることがあると思います。おすすめしないんなら載せなきゃいいじゃないの!

 待ってください。Javaの古いバージョンでは普通にあったけれど、新バージョンではいらなくなってしまったものたちなのです。時代遅れということです。できればスパッと消してしまいたいのですが、今までたくさん利用されてきたことを考えると、そうもいかない。そこで仕方なく残してあるので、そのうち消える運命にあります。ですからわざわざ新たに使うことだけはやめましょう。

 Javaも誕生して10年になるのですね。十年一昔、といいますが、この世界では一年十昔、という感じ。それだけ古くなって捨ててしまわなければならないものもたくさん出てくるのですね。

 まあ説明の説明ばかりしても仕方がないので、これは...?というときは、どんどん調べて慣れてください。 
<<目次次ページ>>
Copyright (c) 2004-2005 Nagi Imai All Rights Reserved..