![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
effective
红楼终究一场梦
这个作者很懒,什么都没留下…
展开
-
第1条:用静态工厂方法代替构造器
为了让客户端获取它自身的一个实例,最传统的就是提供一个公有的构造器。 静态工程方法优势: 1.静态工厂方法与构造器不同的优势在于,静态工厂方法有名字。 class Person{ int age = 10; int weight = 30; public static Person newPerson(int age, int weight) { P...原创 2019-06-12 17:25:01 · 114 阅读 · 0 评论 -
第2条,遇到多个构造器参数时要考虑使用构建器
静态工厂和构造器的缺陷:都不能很好地扩展到大量的可选参数。 重叠构造器:第一个构造器只有必要参数;第二个构造器有一个可选参数;第三个构造器有两个可选参数..... 重叠构造器当参数多的时候就会很难写。 生成器模式(builder):不直接生成想要的对象,而是让客户端利用所有必要的参数调用构造器(或者静态工厂),得到一个builder对象。然后客户端在builder对象上调用类似setter的...原创 2019-06-13 15:47:25 · 138 阅读 · 0 评论 -
LeetCode-626. 换座位( 626. Exchange Seats)。知识点:case when then else end
小美是一所中学的信息科技老师,她有一张 seat座位表,平时用来储存学生名字和与他们相对应的座位 id。 其中纵列的id是连续递增的 小美想改变相邻俩学生的座位。 你能不能帮她写一个 SQL query来输出小美想要的结果呢? 示例: +---------+---------+ | id | student | +---------+---------+ | ...原创 2019-09-06 11:32:55 · 655 阅读 · 0 评论