一 实验目的

了解equal和toString方法

二 实验软件环境

操作系统:windows xp

java 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@2cdb03a1

chapter01.A@5ecb5608

true

我是类B

我是类B

false

四 实验结果

Object类中的equal方法是统一的含义,即:比较的两者就是同一个对象,因为B没有重写从Object类中继承的equal方法,所以输出的结果是false;而A重写了Object类中的该属性使其具有相等的含义,即只要两个对象都是A的对象并且对应的属性值相同,就是相等,所以输出结果为true。

Object类中的toString方法可以返回一个代表这个对象的字符串,由所属类名,一个“@”符号和这个对象哈希码的无符号十六进制表达式组成。从结果可以看出,A的输出结果就符合这种格式,而B重写了该方法,所以输出了不同的结果。

关于equal和toString方法的实验报告的更多相关文章

  1. equal(),hashcode(),toString()方法的作用

    equal(),hashcode(),toString()方法的作用 这三个方法都是java.lang.Object的方法. equal();判断两对象是否相等hashcode();为对象在容器中添加 ...

  2. JAVA实验报告三:敏捷开发与XP实践

    实验内容 1. XP基础 2. XP核心实践 3. 相关工具 实验步骤 (一)敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法应用到软件的开发.运营和维护上的过程.软件工程包括下列领域:软件需 ...

  3. 20172304 实验二 《Java面向对象程序设计》 实验报告

    20172304 实验二 <Java面向对象程序设计> 实验报告 课程名称:<程序设计与数据结构> 学生班级:1723班 学生姓名:段志轩 学生学号:20172304 实验时间 ...

  4. 第七周课程总结 & 实验报告(五)

    第七周课程总结 一.抽象类与接口的应用 1.实例化 2.实际应用 ---模板设计(抽象类) ---制定标准(接口) 3.设计模式 ---工厂设计 ---代理设计 ---适配器设计 二.抽象类与接口之间 ...

  5. 20145120 《Java程序设计》实验二实验报告

    20145120 <Java程序设计>实验二实验报告 实验名称:Java面向对象程序设计 实验目的与要求: 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握U ...

  6. 实验三《Java面向对象程序设计》实验报告

    20162308 实验三<Java面向对象程序设计>实验报告 实验内容 XP基础 XP核心实践 IDEA工具学习 密码学算法基础 实验步骤 (一)Refactor/Reformat使用 p ...

  7. 20145213《Java程序设计》实验二Java面向对象程序设计实验报告

    20145213<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装,继承,多态 初步掌握UML建模 熟悉S.O. ...

  8. 20145206《Java程序设计》实验二Java面向对象程序设计实验报告

    20145206<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...

  9. 20145308刘昊阳 《Java程序设计》实验二 Java面向对象程序设计 实验报告

    20145308刘昊阳 <Java程序设计>实验二 Java面向对象程序设计 实验报告 实验名称 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面相对象三要素:封 ...

随机推荐

  1. touch-action属性

    CSS属性 touch-action 用于指定某个给定的区域是否允许用户操作,以及如何响应用户操作(比如浏览器自带的划动.缩放等). /* Keyword values */touch-action: ...

  2. [EMWIN]关于 GUI_GetPixelIndex 使用的问题

    在模拟器上和st单片机上使用以下代码: GUI_COLOR color0,color1; color0 = GUI_GetPixelIndex(rect.x1+1, rect.y0);color1 = ...

  3. 【转】 史上最详尽的平衡树(splay)讲解与模板(非指针版spaly)

    ORZ原创Clove学姐: 变量声明:f[i]表示i的父结点,ch[i][0]表示i的左儿子,ch[i][1]表示i的右儿子,key[i]表示i的关键字(即结点i代表的那个数字),cnt[i]表示i结 ...

  4. bzoj 1264 基因匹配

    Written with StackEdit. Description 卡卡昨天晚上做梦梦见他和可可来到了另外一个星球,这个星球上生物的\(DNA\)序列由无数种碱基排列而成(地球上只有\(4\)种) ...

  5. C# 浅拷贝与深拷贝(复制)

    在有些时候,我们需要从数据库读取数据填充对象或从硬盘读取文件填充对象,但是这样做相对耗时.这时候我们就想到了对象的拷贝.本文即以实例形式解析了C#浅拷贝和深拷贝的用法. C#中有两种类型变量,一种 是 ...

  6. 转载 TCPIP学习笔记之概述

    1.分层 网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能.一个协议族,比如 T C P / I P,是一组不同层次上的多个协议的组合. T C P / I P通常被认为是一个四层协议系统 ...

  7. 洛谷P2661 信息传递

    传送门 题目大意:每个人每一轮可以把消息传给另一个人,问几轮后某个人可以从人 听到自己的消息. 题解:tarjian缩点,求缩点后缩的点包含的最少的点个数. 代码: 正解 #include<io ...

  8. c#同步調用異步(async)方法【記錄用】

    使用RestSharp中的異步方法ExecuteTaskAsync<T>編寫寫了一個異步方法,功能很簡單:異步調用API,返回結果,假設為GetAccessToken,方法簽名假設如下: ...

  9. Elasticsearch聚合优化 | 聚合速度提升5倍

    https://blog.csdn.net/laoyang360/article/details/79253294 1.聚合为什么慢?大多数时候对单个字段的聚合查询还是非常快的, 但是当需要同时聚合多 ...

  10. 几大PHP套件

    UPUPW:http://www.upupw.net/ PHPStudy:http://www.phpstudy.net/ PHPNow:http://servkit.org/