2012-02-02 13 views
2

質問がありますオブジェクト参照変数の型が参照するオブジェクトの型と異なるJavaのメカニズムがありますか?

"オブジェクト参照変数の型が参照するオブジェクトの型と「異なる」ことを可能にする2つのJava言語の仕組みはどのような意味ですか?全く違うの? "

これを正しく理解しているかどうかはわかりません。最初は多態性だと思っていましたが、複数のオブジェクトがあるときにメソッドがどのオブジェクトを参照するかだけを判断するのではないのですか?

それから、私はそれがアップキャストとダウンキャスティングだと思います。それは正しい答えのように思えるので。

別の仕組みがないかどうかわかりません。誰かがこれを明確にするのを助けることができますか?私の本は本当にm.eのためにこれを説明するうまい仕事をしません。

+0

おそらく拡張と実装を考えてください。 –

+2

継承階層、およびジェネリックス...そこに2つの用語を投げるだけです。 :) BTW、このコースのTAはあなたが知っているすべてのためにスタックオーバーフローをトローリングするだけかもしれません。それは名誉毀損です。 :-/ 楽しくない。 – eternaln00b

+0

私はあなたの質問に完全に答えることが、あなたがこれを考えるのを助けるのかどうかはわかりません。例えば、あなたは "アップキャスティング"と "ダウンキャスティング"と言う。それらは動詞ですが、質問はタイプを表します:名詞。キャスティングは手がかりを提供します。キャストする前の元のタイプが互いにどのように関係しているのか、それらがどのように「異なっているか」、どの単語が元の質問で大幅に引用されているかを考えます。 –

答えて

1

私はあなたがそれを正しく理解しているとは思わないが、正しいトラックはpolymorphismです。これは、1つのオブジェクトが複数のフォームを持つことができることを意味します。複数のフォームを使用するには、オブジェクトを別のタイプで参照する必要があります。複数の方法で参照できるようにオブジェクトを作成するには、少なくとも2つの方法があります(少なくとも)。 Anthonyが言うように、拡張と実装を考えてください。

0

私はInterface and Inheritanceと言います。考えてみてください...

List<String> list = new ArrayList<String>(); 

...具体的なArrayListは、実際に宣言されているリストとは異なります。

+0

ああ。 @ Usman-Ismailは言った。エクステンション(継承)と実装(インターフェース)を考えてください。 –

関連する問題