扫码关注官方订阅号
有一个类,定义为class Gift{...},当我新建一个Gift对象时,如 Gift myGift = new GiftmyGift对象究竟是什么类型的呢,是Gift,Phone,还是Object?在博客读到一段话说,在实例化对象时,不指定泛型的话,默认为:Object, 但是不指定泛型的话,默认不是应该为GIft么?
class Gift{...}
Gift
Gift myGift = new Gift
<T> 这只是一个泛型的声明 Gift<T> 说明你在Gift里面存在T这个泛型的使用,java遵循先声明后调用原则,故此需要在使用T之前现声明T的具体类型与myGift的类型无关,不论T的类型是什么myGift都是Gift的一个类的对象.望采纳!
我个人的理解是,这个类型的限制,是对传入参数的限制,而不是类本身的
Gift呀,不指定泛型,默认为:Object。那是针对T来说的吧。Java的泛型在编译阶段需要确定类型,不是真真的动态。所以没声明T类型就默认了T为object
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
<T> 这只是一个泛型的声明 Gift<T> 说明你在Gift里面存在T这个泛型的使用,java遵循先声明后调用原则,故此需要在使用T之前现声明T的具体类型与myGift的类型无关,不论T的类型是什么myGift都是Gift的一个类的对象.
望采纳!
我个人的理解是,这个类型的限制,是对传入参数的限制,而不是类本身的
Gift呀,不指定泛型,默认为:Object。那是针对T来说的吧。Java的泛型在编译阶段需要确定类型,不是真真的动态。所以没声明T类型就默认了T为object