关于重写equals方法: 共需要六个步骤 需要比较的对象是否为空 是否在和自身比较 两个对象类是否相同 比较的内容是否都为空 比较的内容是否相等 返回true
@override public boolean equals(object obj){ //比较的对象就是本身true if(this==obj) return true; //比较的对象为空返回false if(obj==null) return false; //比较两个对象的类是否相等,如果不想等返回false if(this.getClass()!=obj.getClass()) return false; //如果需要比较的对象的内容都为空,那么返回false if(obj.name==null){ if(this.name==null){ return false; } } //如果比较的内容不为空但是不想等则返回false else if(!name.equals(obj.name)) return true; //最后上述情况都为满足返回true return true; }关于重写hashcode的方法:
@override public int hashcode(){ final int prime=31; result = prime+name.hashcode(); return result; }checkRep的写法:使用assert断言方法进行编写
private void checkRep(){ assert plateNo!=null; assert width>100; }