关于equal和toString方法的实验报告

一 实验目的

了解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重写了该方法,所以输出了不同的结果。

转载于:https://www.cnblogs.com/zhezh/p/3773299.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值