Jav复习(绝无仅有深度).docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Jav复习(绝无仅有深度)

对象引用 【例】: public class ParamTest { public void change(Person person,Person person2) { person.name=lisi; person2.name=wangwu; } public static void main(String []args) { Person person=new Person(); person.name=zhangsan; Person person2=person; ParamTest test=new ParamTest(); test.change(person,person2); System.out.println (person.name); } } class Person { String name; } 结果:wangwu Equals方法 格式:public boolean equals(Object obj) Java语言规范要求equals方法具有如下的性质: 【自反性】:对于任何非空引用x,x.equals(X)将返回true 【对称性】:对于任何引用x和y,当有仅有y.equals(x)返回true时,x.equals(y)返回true; 【传递性】:对于任何引用x,y和z,如果x.equals(y)返回true,y.equals(z)返回true,那么x.equals(z)也返回true; 【一致性】:如果x和y引用的对象没有发生变化,那么x.equals(y)重复调用将要返回同一结果; 【other】对任何非空引用x,x.equals(null)应该返回false。 Object类的equals方法:  所有类都从Object类中继承了equals方法  Object类中equals方法源代码如下: public boolean equals (Object obj) { return this==obj; }  Object中的equals方法时直接判断this和obj本身的值是否相等,即用来判断调用equals的对象和形参obj所引用的对象是否是同一对象,所谓同一对象就是指是内存中同一块存储单元,如果this和obj指向的是同一块内存对象,则返回true,如果this和obj指向的不是同一块内存,则返回false,注意:即便是内容完全相等的两块不同的内存对象,也会返回false  如果是同一块内存,则Object中的equals方法返回true,如果是不同的内存,则返回false 何时需要重写equals方法:  如果希望不同内存但相同内容的两个对象equals时返回true,则我们需要重写父类的equals方法 【example】: public class EqualsTest { public static void main(String[] args) { A aa1=new A(2); A aa2=new A(2); System.out.println(aa1.equals(aa2)); } } class A { public int i; A(int i) { this.i=i; } public boolean equals(Object obj) { A aa=(A)obj;//多态中的父类强制转换为子类 if(this.i==aa.i) return true; else return false; } } Result:true 【例题2】: package com.huangyaqing; import java.util.HashSet; public class HashSetOverRide { public static void main(String[] args) { HashSet s=new HashSet(); student a1=new student(sun jianghua); student a2=new student(sun jianghua); s.add(a1); s.add(a2); System.out.println(s); } } class student { private String name; public student(String name) { this.name=name; } public int hashCode() { return this.name.hashCode(); } pub

文档评论(0)

ipad0d + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档