クラスをもっと掘り下げる! (4/5)
作成:2010-12-23 11:27
更新:2010-12-23 11:31
更新:2010-12-23 11:31
■システムライブラリ
このmainメソッドでは、もう1つ、見慣れない文が書いてありました。この部分です。
なんだかややこしそうですが、Javaでは、こんな具合に「何かのクラスのインスタンスを変数やフィールドに入れておいて、その変数・フィールドの中のインスタンスのメソッドを呼び出す」なんてことをよくやります。時には、「インスタンスの中のフィールドの中のインスタンスの中のメソッドで得られたインスタンスの中のフィールドの中の……」なんて具合に、延々と「◯◯の中の◯◯の中の……」をつなげて書くこともあります。これは、「慣れ」るしかありません。何度も何度もそういう書き方を見ていれば、次第に慣れてきますからあまり気にしなくてもよいでしょう。
――それにしてもなんだっていきなりこんなものが登場したのでしょう。こんなSystemなんてクラス、どこで誰がいつ作ったんでしょうか?
――実をいえば、このSystemは、Javaに最初から標準で組み込まれているものだったのです。Javaには、プログラムを作る上で必要になるさまざまなクラスが最初から標準でついています。それを利用することで、たいていのことはできるようになっているのです。これは「システムライブラリ」とか「クラスライブラリ」と呼ばれています。
ここではSystemクラスにある機能を利用してみましたが、こんな具合にさまざまなシステムライブラリのクラスを組み合わせてJavaのプログラムは作られていくのです。
この「システムライブラリに用意されているクラスをいかにたくさん覚えて使えるようにしていくか」が、「Javaをマスターする」ということだ、といってもいいでしょう。
System.out.println(kekka);これ、一体何がどうなっているんでしょうね? クラスのメソッドなのか何なのかよくわかりません。ドットの部分で分解してみると、「System」「out」「println」といった3つの要素があって、その後に引数の()が付けられていることがわかります。――これは、整理するとこういうものになります。
Systemクラス.outフィールド.メソッド(引数);JavaにはSystemというクラスがあって、それにはoutというフィールドが用意されています。このoutには、値を出力するためのクラス(PrintStreamというもの)のインスタンスが入っているのです。このインスタンスの中にある「println」というメソッドを呼び出していた、というわけです。
なんだかややこしそうですが、Javaでは、こんな具合に「何かのクラスのインスタンスを変数やフィールドに入れておいて、その変数・フィールドの中のインスタンスのメソッドを呼び出す」なんてことをよくやります。時には、「インスタンスの中のフィールドの中のインスタンスの中のメソッドで得られたインスタンスの中のフィールドの中の……」なんて具合に、延々と「◯◯の中の◯◯の中の……」をつなげて書くこともあります。これは、「慣れ」るしかありません。何度も何度もそういう書き方を見ていれば、次第に慣れてきますからあまり気にしなくてもよいでしょう。
――それにしてもなんだっていきなりこんなものが登場したのでしょう。こんなSystemなんてクラス、どこで誰がいつ作ったんでしょうか?
――実をいえば、このSystemは、Javaに最初から標準で組み込まれているものだったのです。Javaには、プログラムを作る上で必要になるさまざまなクラスが最初から標準でついています。それを利用することで、たいていのことはできるようになっているのです。これは「システムライブラリ」とか「クラスライブラリ」と呼ばれています。
ここではSystemクラスにある機能を利用してみましたが、こんな具合にさまざまなシステムライブラリのクラスを組み合わせてJavaのプログラムは作られていくのです。
この「システムライブラリに用意されているクラスをいかにたくさん覚えて使えるようにしていくか」が、「Javaをマスターする」ということだ、といってもいいでしょう。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
※mainメソッドの内容 public static void main(String[] args){ Syohizei obj = new Syohizei(); obj.setPrice(12300); double kekka = obj.getZeikomi(); System.out.println(kekka); }
※関連コンテンツ