javaBean

关于JavaBean规范

1)javaBean并不是语法规范,而是习惯编程规范,用这个规范的类,使用方便,有时候这种javaBean的类也被称为POJO plan old java Object

2)简化规范

  • 必须有包
  • 必须是一个java的类,必须具备一个无参构造器
  • 声明Bean的类,属性必须是private,并提供更改器和访问器
  • 注意:满了,空了诸如此类的方法,方法名都是isXXX()
  • 必须实现序列化接口(学习IO流)
  • JDK提供的类几乎都符合JavaBean规范
  • 尽量重写toString方法
  • 尽量重写euals方法,如果需要重写equals,那么就需要重写hashCode();

javaBean最大的好处是什么?

  • 保证代码的简洁性
  • 方便进行调用
  • 方法的重用性

equals覆盖规则

  1. 自反性:object.equals(object) 返回true
  2. 对称性:x.equals(y)返回true则y.equals(x)返回true
  3. 传递性:x,y,z如果x.equals(y)返回true,y.equals(z)返回true,则x.equals(z)返回true
  4. 一致性:如果x,y引用的对象没有发生任何变化,反复调用x.equals(y)应该返回相同的结果
  5. 对于任何非空值,x.equals(null)都应该返回false;

默认规则是:是比较的hashCode的值,是引用

hashCode:

  1. 为什么要与equals方法一起覆盖?当两个对象equals返回值为true时,hashCode的值是相同的。当两个对象的equals返回值是false的时候,两个hashCode值值不同的。hashCode方法值要稳定(一致性),一个对象创建以后,hashCode值就不应该有变化。
  2. 默认的hashCode方法,返回的是对象的内存地址转换的一个整数。
  3. 一般使用对象的OID作为hashCode方法的值,在项目中,一般采用数据库生成的OID,在数据库中指的是“主键”

String java核心库的API之一 String 集合,IO,网络,线程,反射

posted @ 2017-05-22 10:58  冥地魔王  阅读(217)  评论(0)    收藏  举报