class Gift<T>{...}
として定義されたクラスがあります。
新しい ギフト
オブジェクト (ギフト<など) を作成すると、 Phone> ; my Gift = new Gift<Phone>
my Gift オブジェクトのタイプは何ですか? Gift、Phone、または Object ですか?
あるブログで次の文章を読みました。 オブジェクトをインスタンス化するとき、ジェネリックを指定しない場合、デフォルトは Object ですが、ジェネリックを指定しない場合はすべきではありませんデフォルトはギフトですか?
<T> これは単なるジェネリック宣言です。 Gift<T> これは、Java では最初に宣言してから呼び出すという原則に従っているため、特定のタイプを宣言する必要があることを意味します。 Tを使用する前にTを使用します。my Giftの型は関係ありません。Tの型が何であっても、myギフトはギフトというクラスのオブジェクトです。
ぜひ採用してください!
私の個人的な理解では、このタイプの制限はクラス自体ではなく、渡されるパラメーターに対する制限であると考えています
ギフト、ジェネリックタイプを指定しない場合、デフォルトはオブジェクトです。それはTさんのことですよね? Java のジェネリックスはコンパイル段階で型を決定する必要があり、真の意味で動的ではありません。したがって、T 型が宣言されていない場合、T はデフォルトでオブジェクトであるとみなされます