- ベストアンサー
Javaの「型」とは?初心者にもわかる解説
- Javaの「型」について初心者にもわかるように解説します。
- Javaの「型」は指示的な役割や宣言に利用するものですが、具体的にはどのようなものなのでしょうか?
- 引数を指定する際に利用する型についても解説します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
http://okwave.jp/qa/q7336441.html の私の回答ANo.3 http://okwave.jp/qa/q7175470.html の私の回答ANo.4, ANo.6 を,お読みいただき,それでも釈然としない点を指摘していただけるとありがたいです。
その他の回答 (2)
- racene
- ベストアンサー率70% (21/30)
一言で言うと、「型」とは「インターフェース」の表現方法の一種です。 紛らわしいですが、Java言語のinterfaceのことを言っているわけではありません。 もっと一般的な意味の「インターフェース」です。 具体的には、Personという型は「人間を表現していて、workというメソッドがある」ことを示します。 Personを継承するということは、Personの性質「人間を表現していて、workというメソッドがある」を受け継ぐということです。 StudentやTeacherはPersonを継承しているので、やはり「人間を表現していて、workというメソッドがある」わけです。 そのため、Person型の入る場所、つまり「人間を表現していて、workというメソッドがある」ものが入る場所にはStudentやTeacherのインスタンスを入れることができます。
お礼
回答ありがとうございます。 型という言葉に引っ張られすぎていたように思います。 仕組みはわかるのですが。 もっとシンプルに考えていこうと思います。
- nak777r
- ベストアンサー率36% (49/136)
イメージとしての話 メモリの中に 24 バイトの バイト配列が確保されていて それが person クラス型 と呼ばれるものであるとします。 その person クラス型 の 24 バイトとまったく同じ並びの配列を持っていて、 その後ろに 8 バイトの配列が追加されたものが student クラス型 同様に person クラス型 の 24 バイトとまったく同じ並びの配列を持っていて、 その後ろに 16 バイトの配列が追加されたものが teacherクラス型 と呼ばれているとします。 関数の引数には、メモリのアドレス(メモリの先頭から何バイト目にその情報が あるのか?)で渡すので、関数の引数は、 person クラス型であると指定すれば person クラス型として受取る事が出来ます。 もちろん普通に student クラス型 として読むことも出来ます 24バイト目以降が違うので、student クラス型 として、指定されている関数の 引数に teacherクラス型をセットする事は出来ません 基本的なイメージとして、これが 継承 の仕組みです
お礼
回答ありがとうございます。 あれから自分でも他の本や先輩にも、今回の回答と合わせ質問し理解することができました。 とはいってもまだまだ確信をもった理解というものでもないので、勉強を続けていきます。