为了账号安全,请及时绑定邮箱和手机立即绑定

关于java泛型类的小疑惑

关于java泛型类的小疑惑

慕森卡 2019-03-01 11:05:26
有一个类,定义为class Gift<T>{...},当我新建一个Gift对象时,如 Gift<Phone> myGift = new Gift<Phone>myGift对象究竟是什么类型的呢,是Gift,Phone,还是Object?在博客读到一段话说,在实例化对象时,不指定泛型的话,默认为:Object, 但是不指定泛型的话,默认不是应该为GIft么?
查看完整描述

2 回答

?
30秒到达战场

TA贡献1828条经验 获得超6个赞

<T> 这只是一个泛型的声明 Gift<T> 说明你在Gift里面存在T这个泛型的使用,java遵循先声明后调用原则,故此需要在使用T之前现声明T的具体类型与myGift的类型无关,不论T的类型是什么myGift都是Gift的一个类的对象.
望采纳!

查看完整回答
反对 回复 2019-03-01
?
慕村225694

TA贡献1880条经验 获得超4个赞

Gift呀,不指定泛型,默认为:Object。那是针对T来说的吧。Java的泛型在编译阶段需要确定类型,不是真真的动态。所以没声明T类型就默认了T为object

查看完整回答
反对 回复 2019-03-01
  • 2 回答
  • 0 关注
  • 401 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信