Java ジェネリック クラスについての少しの疑問
習慣沉默
習慣沉默 2017-05-17 10:03:19
0
3
618

class Gift<T>{...} として定義されたクラスがあります。
新しい ギフト オブジェクト (ギフト<など) を作成すると、 Phone> ; my Gift = new Gift<Phone>
my Gift オブジェクトのタイプは何ですか? Gift、Phone、または Object ですか?
あるブログで次の文章を読みました。 オブジェクトをインスタンス化するとき、ジェネリックを指定しない場合、デフォルトは Object ですが、ジェネリックを指定しない場合はすべきではありませんデフォルトはギフトですか?

習慣沉默
習慣沉默

全員に返信(3)
PHPzhong

<T> これは単なるジェネリック宣言です。 Gift<T> これは、Java では最初に宣言してから呼び出すという原則に従っているため、特定のタイプを宣言する必要があることを意味します。 Tを使用する前にTを使用します。my Giftの型は関係ありません。Tの型が何であっても、myギフトはギフトというクラスのオブジェクトです。
ぜひ採用してください!

いいねを押す +0
滿天的星座

私の個人的な理解では、このタイプの制限はクラス自体ではなく、渡されるパラメーターに対する制限であると考えています

いいねを押す +0
小葫芦

ギフト、ジェネリックタイプを指定しない場合、デフォルトはオブジェクトです。それはTさんのことですよね? Java のジェネリックスはコンパイル段階で型を決定する必要があり、真の意味で動的ではありません。したがって、T 型が宣言されていない場合、T はデフォルトでオブジェクトであるとみなされます

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート