为什么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泛型擦除

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,218评论 25 709
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,755评论 18 399
  • 1. 泛型概述 泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,...
    JackChen1024阅读 3,468评论 0 3
  • 开启新生活 偷偷去看了你以前的日记,你写着迫不及待要在开年有自己温暖的小家,结束熬夜奔波的生活。 开年之前已实现了...
    Ermao阅读 1,423评论 0 1
  • "两次定增取消前科,故事大王“美名”,加上目前远远跌破定增价的股价和亏损的基本面,海虹控股25亿定增估计又悬了!"...
    财金书生阅读 1,675评论 0 1

友情链接更多精彩内容