ここからは、
Androidのプログラムを作ることを想定して、Javaのいろんな機能がどう使われているのか、説明していくことにしましょう。まずは、文法上の機能(というと変ですが、Javaに用意されている仕組みのことです)についてです。
最初に覚えておきたいのは「
クラスの継承」についてです。
継承というのは、オブジェクト指向言語のもっとも重要な概念の一つで……とかいった難しそうな説明はおいといて。これは何かというと、一言でまとめるなら。
「できあいのクラスをもらってなにかつくる機能」――です。つまりですね、既に出来上がっている、すっごく便利なクラスをそのまままるごともらって、自分のクラスを作るための機能なんです。
例えば、Androidのプログラムを作成すると、だいたい下のような形でプログラムが自動生成されます。
public class クラス名 extends Activity {……}
既に説明したクラスの書き方とは、ちょっとだけ違っていますね? クラス名の後に「
extends Activity」というのがついています。
この「
extends」というのが、
継承という機能を利用するためのものです。これは、その後に書いたクラスを
継承して新しいクラスを作りますよ、ということを意味するのです。
Androidのプログラムは、まず「
Activity」というクラスを継承して作られるようになっています。この
Activityというのは、
Android APIに最初から用意されているクラスで、Androidのアプリの基本部分の機能が作りこまれているのです。
Androidでは、例えばアイコンをタッチしてアプリを起動すると、まずあれをやって、これをやって、ああしてこうして……といった、なんだかわからないけど複雑な処理を実行してプログラムが画面に現れてくる、はずですね。それを全部自分で書け!といわれたら、大抵の人は挫折するでしょう。
そこで、
Activityクラスです。この中に、そうした「ああしてこうして……」の基本的な仕組みが全部組み込まれているのです。ということは? この
Activityにあるすべての機能をそっくりもらってクラスを作ってしまえば、この「ああしてこうして……」の部分も全部そのまま動いてくれるわけです。自分が何もしなくても、ぜーんぶやってくれてしまうわけです。
これが、「
継承」という機能です。
継承といえば、
extends。クラスのところに「
extends 〜」とあったら、「なんかわからないけど、こういうクラスをそっくりもらって、その機能を使ってプログラムを作ってるな」と考えればいいわけですね。