会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
没有梦想的小灰灰
博客园
首页
新随笔
联系
管理
订阅
上一页
1
···
3
4
5
6
7
8
9
10
11
···
13
下一页
2016年7月20日
第16条:复合优先于继承
摘要: 继承是实现代码重用的有力手段,但是使用不当会导致软件变得脆弱。在包的内部使用继承是非常安全的,子类和超类的实现都处在同一个程序员的控制之下。对于专门为了继承而设计、并且具有很好的文档说明的类来说,使用继承也是非常安全的。然而们对于进行跨越包边界的继承,则要非常小心。“继承”在这里特指一个类扩展另一个
阅读全文
posted @ 2016-07-20 00:28 没有梦想的小灰灰
阅读(504)
评论(0)
推荐(0)
2016年7月19日
Tomcat配置https
摘要: 通过JDK自带的keytool工具能够生成属于自己的证书。 在window环境下: 以管理员的身份运行cmd.exe,切换到Tomcat的安装目录下(如G:\Tomcat 8.0),执行命令 执行后可以看到目录下生成了casserver.keystore文件, -alias 指定别名为casserv
阅读全文
posted @ 2016-07-19 22:47 没有梦想的小灰灰
阅读(576)
评论(0)
推荐(0)
2016年7月18日
第15条:使可变性最小化
摘要: 不可变类是实例不能被修改的类。每个实例中包含的所有信息都必须在创建该实例的时候就提供,并在对象的整个生命周期内固定不变。Java平台包含的不可变类:String、基本类型的包装类、BigInteger、BigDecimal。不可变类比可变类更容易设计、实现和使用。 为了使类成为不可变,要遵循五条规则
阅读全文
posted @ 2016-07-18 16:43 没有梦想的小灰灰
阅读(441)
评论(0)
推荐(0)
2016年7月15日
第14条:在公有类中使用访问 方法而非公有域
摘要: 如上面Point类的数据域是可以直接被访问的,这样的类没有提供封装。如果不改变API,就无法改变它的数据表示法(比如,使用一个比double更高精度的类来表示x和y),也无法强加任何约束条件(比如以后我们可能会希望x和y不会超过某个值)。 使用私有域和公有访问方法的公有类是比较合适的。在它所在的包的
阅读全文
posted @ 2016-07-15 23:59 没有梦想的小灰灰
阅读(574)
评论(0)
推荐(0)
2016年7月14日
第13条:使类和成员的可访问性最小化
摘要: 区别设计良好的模块和设计不好的模块,最重要的因素在于,这个模块对于外部的其他模块而言,是否隐藏其内部数据和其他实现细节。设计良好的模块会隐藏所有的实现细节,把它的API于它的实现清晰地隔离开来。然后,模块之间通过它们的API进行通信,一个模块不需要知道其他模块的内部工作情况,这个概念称为信息隐藏或封
阅读全文
posted @ 2016-07-14 16:43 没有梦想的小灰灰
阅读(325)
评论(0)
推荐(0)
第12条:考虑实现Comparable接口
摘要: CompareTo方法没有在Object中声明,它是Comparable接口中的唯一的方法,不但允许进行简单的等同性比较,而且允许执行顺序比较。类实现了Comparable接口,就表明它的实例具有内在的排序关系。为实现Comparable接口的对象排序:Arrays.sort(a); 一旦实现了Co
阅读全文
posted @ 2016-07-14 15:01 没有梦想的小灰灰
阅读(275)
评论(0)
推荐(0)
2016年7月7日
第11条:谨慎地覆盖clone
摘要: Clone提供一种语言之外的机制:无需调用构造器就可以创建对象。 它的通用约定非常弱: 创建和返回该对象的一个拷贝。这个拷贝的精确含义取决于该对象的类。一般含义是,对于任何对象x,表达式x.clone() != x 将会是true,并且,表达式x.clone().getClass() == x.ge
阅读全文
posted @ 2016-07-07 15:39 没有梦想的小灰灰
阅读(296)
评论(0)
推荐(0)
2016年7月6日
第10条:始终要覆盖toString
摘要: java.lang.Object的toString方法的实现: 这通常不是用户期望看到的,它包含类名称,一个“@”符号,以及散列码的无符号十六进制表示法。 toString通用约定指出,被返回的字符串应该是一个“简洁的,但信息丰富,并且易于阅读的表达形式”,进一步的约定指出,建议所有的子类都覆盖这个
阅读全文
posted @ 2016-07-06 10:29 没有梦想的小灰灰
阅读(433)
评论(0)
推荐(0)
第9条:覆盖equals时总要覆盖hashCode
摘要: 在每个覆盖equals方法的类中,也必须覆盖hashCode方法。否则,会违反Object.hashCode的通用约定,从而导致该类无法结合所有基于散列的集合一起正常工作,包括HashMap,HashSet,Hashtbale。 hashCode约定内容: 1.只要对象equals方法的比较操作所用
阅读全文
posted @ 2016-07-06 09:15 没有梦想的小灰灰
阅读(247)
评论(0)
推荐(0)
2016年7月5日
第8条:覆盖equals时遵守通用约定
摘要: 如果不需要覆盖equals方法,那么就无需担心覆盖equals方法导致的错误。 什么时候不需要覆盖equals方法? 1.类的每个实例本质上是唯一的。 例如对于Thread,Object提供的equals实现正好符合。 2.不关心类是否提供了“逻辑相等”的测试功能。 例如Random类提供产生随机数
阅读全文
posted @ 2016-07-05 16:17 没有梦想的小灰灰
阅读(176)
评论(0)
推荐(0)
上一页
1
···
3
4
5
6
7
8
9
10
11
···
13
下一页
公告