关于equal和toString方法的实验报告
2014-04-23 17:16
393 查看
一 实验目的
了解equal和toString方法二 实验软件环境
操作系统:windows xpjava version: "1.7.0_51"
开发工具:Eclipse Standard/SDK Version: Kepler Service Release2
三 实验内容
分别建立两个类:A和B(都是默认继承自Object类)重写A中的equal方法;
重写B中的toString方法;
即:
A中的equal方法是重写之后的新的方法,A中的toString方法是继承自Object的方法;
B中的toString方法是重写之后的新方法,B中的equal方法是继承自Object的方法。
通过对比A和B的输出结果,可以看出Object类中的equal和toString方法的用法,以及重载之后的方法。
程序代码:
package chapter01; class A { inti; public String toString() { return "我是类A"; } A(int i) { this.i = i; } publicboolean equals(Object obj) { if(obj != null && (objinstanceof A)) { if(this.i == ((A) obj).i) { return true; } } return false; } } class B { int i; public String toString() { return "我是类B"; } B(int i) { this.i = i; } } public class Demo { public static void main(String []args) { A a1 = new A(3); A a2 = new A(3); System.out.println(a1); System.out.println(a2); System.out.println(a1.equals(a2)); B b1 = new B(3); B b2 = new B(3); System.out.println(b1); System.out.println(b2); System.out.println(b1.equals(b2)); } }
程序输出结果:
chapter01.A@2cdb03a1chapter01.A@5ecb5608
true
我是类B
我是类B
false
四 实验结果
Object类中的equal方法是统一的含义,即:比较的两者就是同一个对象,因为B没有重写从Object类中继承的equal方法,所以输出的结果是false;而A重写了Object类中的该属性使其具有相等的含义,即只要两个对象都是A的对象并且对应的属性值相同,就是相等,所以输出结果为true。Object类中的toString方法可以返回一个代表这个对象的字符串,由所属类名,一个“@”符号和这个对象哈希码的无符号十六进制表达式组成。从结果可以看出,A的输出结果就符合这种格式,而B重写了该方法,所以输出了不同的结果。
相关文章推荐
- 关于equal和toString方法的实验报告
- 关于C#类中重写ToString方法和PHP类中__tostring()方法的比较
- equal(),hashcode(),toString()方法的作用
- 【转】第5篇:Xilium CefGlue 关于 CLR Object 与 JS 交互类库封装报告:自动注册JS脚本+委托回调方法分析
- 关于NSObject类的description方法和isEqual/==
- 关于重写 toString() 方法
- equal(),hashcode(),toString()方法的作用
- 关于java集合的toString方法源码分析
- Java中关于==和equal的区别以及equals()方法重写
- 计算方法实验二实验报告 非线性方程求根
- 关于String的equal的方法对Object的重写
- 【原创】关于java对象需要重写equals方法,hashcode方法,toString方法 ,compareto()方法的说明
- 【转】第6篇:Xilium CefGlue 关于 CLR Object 与 JS 交互类库封装报告:自动注册JS脚本+自动反射方法分析
- 重写toString和equal方法
- 第12周实验报告1:关于访问限定符的讨论
- 【转】第7篇:Xilium CefGlue 关于 CLR Object 与 JS 交互类库封装报告:全自动注册与反射方法分析
- 关于SqlHelper.ExecuteScalar().ToString()报错的解决方法
- 【线性表二:】大学数据结构实验报告中的两三个关于线性表的小算法
- 关于toString()方法的一些看法
- Java中关于==和equal的区别 以及equals()方法重写