摘要: 使类和成员的可访问性最小化 规则很简单:尽可能地使每个类或者成员不被外界访问。实例域(非final)决不能是公有的。当需要暴露出不可变的实例时通常会把这个实例做成不可变或者是把这个实例变成私有,同时提供该实例的备份。 在公有类中使用访问方法而非公有域 这就是常说的getter和setter方法,提供 阅读全文
posted @ 2016-10-04 11:04 Gosling1021 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 覆盖equals方法时请遵守通用约定 这种说法的大意是要说明,Object类中定义的很多默认准则是被许多工具类或是第三方框架共同遵守的标准,一旦改动这样的标准机制,会在后续的使用中产生不稳定因素。equals方法常见用来做以下用途时,不建议对equals方法进行覆盖: 1.判断实例的唯一性 2.提供 阅读全文
posted @ 2016-04-02 12:09 Gosling1021 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 考虑用静态工厂方法代替构造器 静态工厂方法第一大优势是可以用特有的名称。常见的类创建实例需要用构造函数,而当需要两个构造函数时,我们需要在参数列表做区分才能写出两个构造方法。使用静态工厂模式,可以规避方法名=类名的限制,使用更易读的方法呈现。 静态工厂方法第二大优势是不必在每次调用的时候创建一个新的 阅读全文
posted @ 2016-03-19 13:25 Gosling1021 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 需要了解JAVA最近每个版本新增的特性,并善用这些新特性为自己的程序实现高效简洁的代码。 其中提到的编程原则包括: 模块要尽可能的小 代码应该要被重用,而不是被拷贝 模块之间的依赖性应该尽可能降到最小 错误应该尽早被检测,最好是在编译期 阅读全文
posted @ 2016-03-14 23:00 Gosling1021 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 1.局部变量不能加访问修饰符2.线程中的run方法是public void run(){},重写时需要注意修饰符3.instanceof的作用是判断其左边对象是否为其右边类的实例,返回boolean类型的数据。4.StringBuffer没有重写equals方法,该方法是比较两个对象是否相同,而不是... 阅读全文
posted @ 2015-03-12 22:29 Gosling1021 阅读(304) 评论(0) 推荐(1) 编辑
摘要: 在创建自定义对话框时,我们会给这个对话框设置一个Viewdialog = new AlertDialog.Builder(this).setView(layout).create();但是当我们需要复用这个layout视图的时候,如果不做处理直接把layout设置到其他控件会出现异常,原因是作为子视... 阅读全文
posted @ 2015-02-06 20:12 Gosling1021 阅读(186) 评论(0) 推荐(0) 编辑