首页 > 编程知识 正文

java对象的定义,java面向对象

时间:2023-05-05 02:49:22 阅读:136494 作者:2775

用Java创建的对象存储在堆中,并使用散列搜索来加速搜索。

基本思想:定义映射对象所在存储器地址的密钥

如果需要查找对象,则只需查找键,然后遍历整个堆内存,查找对象publicclassCat{

私有字符串名称;

私有增量;

专用权限;

私有颜色;

公共cat (string name,intage,doubleweight,Colorcolor ) {

this.name=name;

this.age=age;

this.weight=weight;

this.color=color;

}

通过//属性判断Cat是否相同

@Override

publicbooleanequals(objectobj ) {

if(this==obj )//如果两个Cat是同一对象,则相同

返回真;

}

if(obj==null ()//如果两个Cat中的任何一个为空,则不同

返回假;

}

//两个Cat的类型不同就不同

获取类!=obj.getClass () ) }

返回假;

}

catcat=(cat ) obj;

//比较属性

returnname.equals(cat.name ) (age==cat.age ) )。

(weight==cat.weight ((color.equals ) ) cat.color );

}

//hashCode ()方法也必须写

公共int hashcode (

return7*name.hashCode () 11 * new integer (age ).hashCode ) ) )。

13*newdouble(weight ).hashCode ) 17*color.hashCode );

}

@Override

公共字符串

return'Cat[name=' name ',age=' age ',weight=' weight

',color=' color '] ";

}

}

测试: publicstaticvoidmain (string [ ] args )。

catcat1=Newcat(Java,12,21,Color.BLACK );

catcat2=newcat('c ',12,21,Color.WHITE );

catcat3=Newcat(Java,12,21,Color.BLACK );

system.out.println(cat1号散列代码cat1.hashCode ) );

system.out.println(cat2号的哈希代码) cat2.hashCode ) );

system.out.println(cat3号散列代码cat3.hashCode ) );

system.out.println(cat1是否与Cat2相同) cat1. equals (cat2);

system.out.println(cat1是否与Cat3相同(cat1.equals ) Cat3) );

}

结果如下。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。