
Effective Java 笔记
蓝白沙
坚持
展开
-
第六章:枚举理解
package cn.stu;public interface IBusiness { public void business();}package cn.stu;public enum Person implements IBusiness{ farmer("农民"){ public void business(){ System.out.p原创 2016-10-21 23:41:13 · 392 阅读 · 0 评论 -
第四章: 类和接口
public > protected > 包级私有 > private退化类: 就是一些集中实例域但是没有任何行为的类,个人理解就是只有字段而没有方法。 这一章更多的是讲解一些编程时候的规范。 1. 访问性的最小化: 这种形式有利于封装,同时更少的对外提供修改的渠道,也是为了更好的保护。 同时, 对外提供的方法,不会让他看到更多的代码细节。也就是说,你原创 2016-10-19 17:40:04 · 421 阅读 · 0 评论 -
第十二条: Comparable和Comparator
一个是对于自定义对象内部进行排序, 一个是通过在外部进行排序。 其他的区别并不是很大, 但是感觉写在外部的方式,扩展性和易读性都相对好一些。 具体列子代码如下: package cn.stu;public class Student implements Comparable{ public String name; public double score;原创 2016-10-19 11:48:04 · 253 阅读 · 0 评论 -
第十一条:简单理解clone
package cn.stu;public class Student implements Cloneable{ public String name; public String school; @Override protected Object clone() throws CloneNotSupportedException { St原创 2016-10-18 15:58:04 · 330 阅读 · 0 评论 -
第九条: equals和hashCode
package cn.stu;public class Student { public String userName; public String schoolName; @Override public boolean equals(Object obj) { if(obj != null && this != null){ Student stu原创 2016-10-18 11:04:56 · 277 阅读 · 0 评论 -
第三条:枚举类型强化Singleton属性
枚举单例有序列化和线程安全的保证, 而且也是最简单的。 同时枚举类也就是一个普通的Java类一样。 package cn.stu;public enum Person { instance("小强"); private final String name; private Person(String name){ this.name = name;原创 2016-10-17 15:38:50 · 895 阅读 · 0 评论 -
第二条:遇到多个构造器参数时要考虑用构建器
package com.stu; /* * * 对于实体对象中, 参数很多的时候, 创建对象, * * 方法A. 通过编写多个构造器,调用的时候,看选择调用构造器叠代的形式,构造器里面 * 再去调用构造器的形式来进行。 * * 方法B: javaBean的形式来处理,但是参数多的话,代码行数会增加,都原创 2016-10-17 14:32:57 · 407 阅读 · 1 评论 -
第一条: 静态工厂代替构造器
需要知道的是,静态工厂方式就是一个静态方法,用来返回当前类型或者是子类的一个方法而已。 书上说相比构造器而已有几点优势: 其一: 这个方法可以根据业务定义自己更能够理解的方法名字出来。 比如: getInstance这样的比较常见的名字。 其二: 相比构造器,每次调用的时候,不必都创建一个实例对象出来。 这个也就是说,我们可以直接通过原创 2016-10-14 00:14:38 · 312 阅读 · 0 评论 -
第七,八,九章: 方法,通用设计,异常
/*** * 1. 对于可变参数, 可变的需要放到最后一位,同时,感觉可变参数的可读性不是很好, 只有在参数多的时候类似的方法的时候,用比较的 * 合适。 * * 2. 方法的返回的时候, 不应该返回null, 需要返回的长度为0的数组或者集合。这样可以减少后面的代码判断。 * * 3. 方法的参数,原创 2016-10-22 23:10:17 · 354 阅读 · 0 评论 -
第五章: 泛型
package cn.stu;public class Plate { private T item; public Plate(T t){ this.item = t; } public T getItem() { return item; } public void setItem(T item) { this.item = item; }原创 2016-10-20 17:20:58 · 330 阅读 · 0 评论