为什么TypeToken是protect

TypeTokengoogle提供的一个解析Json数据的类库(gson)中一个类

感谢 为什么Gson 的TypeToken 个构造是protect而非public?

why the TypeToken construction in Gson is so weird?

用到retrofit 自定义convert 看到了gson就看到了TypeToken

看到这个类的修饰符很奇怪是使用protect修饰的,我很少遇见这样的类,所以就很好奇,搜索了下也不顺利.就在segmentfault 上提问了,收到了回答 其中一个就上面的链接,里面有描述.

还有就是提出这个问题后收到回答后自己的一些理解.

  1. 为什么是protect不是public? 为了不被直接创建,这样创建对象时只能创建子类了.
  2. 为什么不是abstract? 这个我不了解不太确定是不是为了在同一个包中和类中使用的时候也必须创建子类
  3. 强制创建子类为了什么? 强制创建子类是为了让__子类明确父类声明的泛型的类型__(可以不声明,但是不声明时类似泛型为Object),这里是我第一次觉得java不爽的地方,居然不能强制标注泛型.

需要相关知识 : java基础,java泛型擦除

转载于:https://juejin.im/post/5a31ee4c51882554b8378f8d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值