文档章节

读书笔记1(Effective java)

飞翼
 飞翼
发布于 2017/09/11 10:55
字数 286
阅读 3
收藏 0

优势:

1.有名称。

2.避免了每次调用他们都创建一个新的对象。

例子:


 public static Boolean valueOf(boolean b) {  
        return (b ? TRUE : FALSE);  

3.可以返回原类型的任何一个子类型对象

 

例子:


 public static <E extends Enum<E>> EnumSet<E> noneOf(Class<E> elementType) {  
        Enum[] universe = getUniverse(elementType);  
        if (universe == null)  
            throw new ClassCastException(elementType + " not an enum");  
  
        if (universe.length <= 64)  
            return new RegularEnumSet<E>(elementType, universe);  
        else  
            return new JumboEnumSet<E>(elementType, universe);  
    }


  进一步解释:这样使用者就不关心到底要返回什么子类,只需要知道返回的是某个子类就可以了,具体实现和判断在父类中进行实现,从而有一天需要对所使用子类进行修改时不会引起代码大的冲突

 

4.创建一个参数化类型实例时,可以简化代码

缺点:

1.类如果不含有公有的或者受保护的构造器,就不能被继承。

2.与其他的静态方法没有区别,想具体的查看如何实体化一个类不方便。

© 著作权归作者所有

共有 人打赏支持
飞翼
粉丝 3
博文 63
码字总数 2835
作品 0
北京
程序员
私信 提问
读书笔记之《Java并发编程的艺术》-并发编程容器和框架(重要)

读书笔记部分内容来源书出版书,版权归本书作者,如有错误,请指正。 欢迎star、fork,读书笔记系列会同步更新 git https://github.com/xuminwlt/j360-jdk module j360-jdk-thread/me.j360....

Hi徐敏
2015/11/11
0
1
读书笔记之《Java并发编程的艺术》-并发编程基础

读书笔记部分内容来源书出版书,版权归本书作者,如有错误,请指正。 欢迎star、fork,读书笔记系列会同步更新 git https://github.com/xuminwlt/j360-jdk module j360-jdk-thread/me.j360....

Hi徐敏
2015/11/11
0
8
Android--面试中遇到的问题总结(三)

《Android 开发工程师面试指南 LearningNotes 》,作者是陶程,由梁观全贡献部分。大家可以去知乎关注这两位用心的少年。这份指南包含了大部分Android开发的基础、进阶知识,不仅可以帮助准备...

sealin
2017/02/22
0
0
读书笔记之《Java并发编程的艺术》-线程池和Executor的子孙们

读书笔记部分内容来源书出版书,版权归本书作者,如有错误,请指正。 欢迎star、fork,读书笔记系列会同步更新 git https://github.com/xuminwlt/j360-jdk module j360-jdk-thread/me.j360....

Hi徐敏
2015/11/11
0
1
用思维导图来学java虚拟机,轻松易懂!

说明 本篇文章是对周志明的《深入理解Java虚拟机》的读书笔记,思维导图使用Mindjet MindManager。曾经看到过这样一句话: 关于教育,有一个经典的定义是:把在学校里学到的东西全部忘掉,最...

小刀爱编程
2018/10/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

深度学习为图片人物换装【python代码教程】

在观看本文之前,请答应我要善良。昨天预告了下,发现很多同学对这个模型都表示出兴趣,甚至有好多同学后台发来照片让我帮他们脱裤子。授人以鱼不如授人以渔,请这些同学好自为之~ 01效果演示...

阿里云官方博客
22分钟前
1
0
centos7安装RabbitMQ详细过程

由于RabbitMQ是基于Erlang语言开发,所以在安装RabbitMQ之前,需要先安装Erlang 1、环境: centos 7.1 内核版本3.10.0-229.el7.x86_64 Erlang 19.0.4版本 RabbitMQ 3.6.14版本 2、在线安装E...

秋至丶枫以落
53分钟前
1
0
6个使用KeePassX保护密码的技巧

虽然安全是个深奥的主题,但是你可以遵循几个简单的日常习惯来减小攻击面。本文将解释确保密码信息安全的重要性,并给出如何充分利用KeePassX的建议。 日益互联的数字世界使安全成为一个重要...

Linux就该这么学
55分钟前
1
0
UnsatisfiedLinkError sawindbg.dll

方法:搜索sawindbg.dll,然后将文件报错的目录下

洛水
今天
5
0
说说不知道的Golang中参数传递

本文由云+社区发表 导言 几乎每一个C++开发人员,都被面试过有关于函数参数是值传递还是引用传递的问题,其实不止于C++,任何一个语言中,我们都需要关心函数在参数传递时的行为。在golang中...

腾讯云加社区
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部