随笔分类 -  java基础

续重写equals()方法
摘要:在覆盖equals方法的时候,我们必须遵守以下通用约定。(来自Object的规范[JavaSE6]):反射性:x.equals(x)必须返回是"true"。对称性:如果x.equals(y)返回是"true",那么y.equals(x)也应该返回是"true"。传递性:如果x.equals(y)返回是"true",而且y.equals(z)返回是"true",那么z.equals(x)也应该返回是"true"。一致性:如果x.equals(y)返回是"true&qu 阅读全文

posted @ 2013-03-14 15:39 free9277 阅读(236) 评论(0) 推荐(0)

重写hashCode()方法
摘要:hashCode()用于返回调用该方法的对象的散列码值,此方法将返回整数形式的散列码值。 在object类中,hashcode()方法是本地方法,返回的是对象的地址值,而object类中的equals()方法比较的也是两个对象的地址值,如果equals()相等,说明两个对象地址值也相等,当然hashcode()也就相等了。一旦一个类重写equals()方法,通常也会重写hashCode()方法。 下面是重写hashCode()方法的约定的内容,来自Object规范[JavaSE6]: (1)、在应用程序的执行期间,只要对象的equals方法的比较操作所用到的信息没有被修改,那么对这同一个对象. 阅读全文

posted @ 2013-03-12 20:09 free9277 阅读(1701) 评论(0) 推荐(0)

重写equals()方法
摘要:在比较两个对象时可以使用==和equals()。==用于比较两个对象的引用地址是否相等,而equals()方法主要用于比较两个对象的内容是否相等。 在Object中已定义了equals()方法,但是该方法直接采用==操作符实现,因此子类不重写该方法,那么子类对象在比较时将使用Object中定义的equals(),其结果与==操作符的比较结果是一样的。代码如下所示:public class User { //用户名称 private String userName; //用户密码 private String password; public User(S... 阅读全文

posted @ 2013-03-12 11:08 free9277 阅读(482) 评论(0) 推荐(1)

封装
摘要:概念: 设计良好的模块会隐藏所有的实现细节,把它的API与它的实现清晰地隔离开来。然后模块之间只通过它们的API进行通信,一个模块不需要知道其他模块的内部工作情况。这个概念被称为信息隐藏或封装。好处: 可以有效地解除组成系统的各个模块之间的耦合关系,使得这些模块可以独立地开发、测试、优化、使用、理解和修改。因为程序员可以更快地理解这些模块,并且在调试它们的时候可以不影响其他的模块。这样可以让这些模块并行开发,加快系统开发的速度。缺点: 影响了系统的性能。Java提供的实现机制: 访问控制,决定了类、接口和成员的可访问性。实体的可访问性是由该实体声明所在的位置,以及该实体声明中所出现的访问修.. 阅读全文

posted @ 2013-03-10 12:05 free9277 阅读(141) 评论(0) 推荐(0)

导航