有一个类,定义为class Gift<T>{...}
,
当我新建一个Gift
对象时,如 Gift<Phone> myGift = new Gift<Phone>
myGift对象究竟是什么类型的呢,是Gift,Phone,还是Object?
在博客读到一段话说,在实例化对象时,不指定泛型的话,默认为:Object, 但是不指定泛型的话,默认不是应该为GIft么?
有一个类,定义为class Gift<T>{...}
,
当我新建一个Gift
对象时,如 Gift<Phone> myGift = new Gift<Phone>
myGift对象究竟是什么类型的呢,是Gift,Phone,还是Object?
在博客读到一段话说,在实例化对象时,不指定泛型的话,默认为:Object, 但是不指定泛型的话,默认不是应该为GIft么?
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
<T> 这只是一个泛型的声明 Gift<T> 说明你在Gift里面存在T这个泛型的使用,java遵循先声明后调用原则,故此需要在使用T之前现声明T的具体类型与myGift的类型无关,不论T的类型是什么myGift都是Gift的一个类的对象.
望采纳!