Java程序设计教学课件作者刘慧宁05课件.pptVIP

Java程序设计教学课件作者刘慧宁05课件.ppt

  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文档。上传文档
查看更多
5.9 类Object java.lang.Object是Java语言的根类: 方法equals 方法toString 方法clone 5.9.1 方法equals 用于比较两个对象是否相等。 调用方法equals的语法如下: object1.equals(object2) 方法equals的默认定义如下: public boolean equals(Object obj) { return(this==obj); } 如果某个类中覆盖了方法equals,通常有必要同时覆盖方法Object.hashCode(调用该方法将返回当前对象的哈希码值),以维护方法hashCode的常规协定,该协定声明相等对象必须具有相等的哈希码。 5.9.2 方法toString 方法toString返回一个代表当前对象本身信息的字符串。 默认情况下,返回的字符串由该对象所属的类名、at符号“@”和该对象哈希码的无符号十六进制表示组成。 例5-14 使用方法toString 源代码 编译运行 5.9.3 方法clone 调用方法clone,可以复制一个对象: newObject = oldObject.clone(); 注意:类Object中,方法clone被声明为protected,这意味着不能在其他包的类中访问不属于同一类的对象的方法clone。因此,如果打算让其他类也能复制某个类的对象,就需要在该类中覆盖方法clone,并将其声明为public。 5.9.3 方法clone(续) 为了使一个类的对象能够成功克隆,该类应实现接口java.lang.Cloneable。 接口Cloneable的定义如下: interface Cloneable{} 这个接口是空的,体为空的接口称为标记接口(market interface)。 例5-15 对象复制 源代码 编译运行 5.9.3 方法clone(续) 与运算符“=”不同,方法Object.clone会自动为对象分配相应的内存空间,并将旧对象中的内容复制到新对象中。 如果一个对象的某个数据成员是其他对象,方法Object.clone复制的只是这些内含对象的引用,并不会自动复制这些内含对象的内容,即它只进行浅拷贝。如果希望复制内含对象的内容,就要进行深拷贝。要进行深拷贝就需要对复制对象中内含的每个对象都调用其方法clone。 标准类库中的大多数类的对象都是不可复制的。 5.10 包装类和自动装箱与拆箱 5.10.1 包装类的构造方法 类Character只有一个构造方法: public Character(char value) 其他包装类都有两个构造方法,比如,类Integer的构造方法如下: public Integer(int value) public Integer(String s) 例: Integer integer0bject1 = new Integer(1); Integer integer0bject2 = new Integer(1); 5.10.1 包装类的构造方法(续) 类Boolean规定只有字符串为“true”(忽略大小写)时,创建的类Boolean对象的值才为true,否则,为false。 Boolean booleanObject1 = new Boolean(True) //true Boolean booleanObject2 = new Boolean(yes) //false 所有包装类都没有默认构造方法。而且,所有包装类的对象都是不可变的,即一旦创建,它的值就不能再改变。 5.10.2 静态方法 valueOf 例: Integer integerObject=Integer.valueOf(1); Double doubleObject=Double.valueOf(1.2); Boolean booleanObject=Boolean.valueOf(yes) 注意:类Character中的方法ValueOf不能以字符串为参数。 toString(value) 例: String s=Integer.toString(2); 5.10.2 静态方法(续) 除类Character外,其他包装类中都定义了将字符串转换成相应的基本数据类型值的静态方法。 例: int i=Integer.parseInt(2); double d=Double.parseDouble(2.4); bo

您可能关注的文档

文档评论(0)

精品课件 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档