Il existe une classe définie comme class Gift<T>{...}
,
当我新建一个Gift
对象时,如 Gift<Phone> myGift = new Gift<Phone>
Quel est le type de l'objet myGift ? S'agit-il d'un cadeau, d'un téléphone ou d'un objet ?
J'ai lu un paragraphe sur un blog qui Lors de l'instanciation d'un objet, si vous ne spécifiez pas de générique, la valeur par défaut est : Objet, mais si vous ne spécifiez pas de générique, la valeur par défaut ne devrait-elle pas être GIft ?
<T> Ceci est juste une déclaration générique Gift<T> Cela signifie que vous utilisez le type générique T dans Gift. Java suit le principe de déclarer d'abord puis d'appeler, vous devez donc déclarer le type spécifique de. T avant d'utiliser T. Le type de myGift n'a rien à voir avec cela. Quel que soit le type de T, myGift est un objet d'une classe appelée Gift.
J'espère l'adopter !
Ma compréhension personnelle est que les restrictions de ce type sont des restrictions sur les paramètres transmis, et non sur la classe elle-même
Gift, si vous ne spécifiez pas de type générique, la valeur par défaut est : Objet. C'est pour T, non ? Les génériques de Java doivent déterminer le type lors de la phase de compilation et ne sont pas véritablement dynamiques. Par conséquent, si le type T n'est pas déclaré, T est supposé être un objet