关于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重写了该方法,所以输出了不同的结果。
关于equal和toString方法的实验报告的更多相关文章
- equal(),hashcode(),toString()方法的作用
equal(),hashcode(),toString()方法的作用 这三个方法都是java.lang.Object的方法. equal();判断两对象是否相等hashcode();为对象在容器中添加 ...
- JAVA实验报告三:敏捷开发与XP实践
实验内容 1. XP基础 2. XP核心实践 3. 相关工具 实验步骤 (一)敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法应用到软件的开发.运营和维护上的过程.软件工程包括下列领域:软件需 ...
- 20172304 实验二 《Java面向对象程序设计》 实验报告
20172304 实验二 <Java面向对象程序设计> 实验报告 课程名称:<程序设计与数据结构> 学生班级:1723班 学生姓名:段志轩 学生学号:20172304 实验时间 ...
- 第七周课程总结 & 实验报告(五)
第七周课程总结 一.抽象类与接口的应用 1.实例化 2.实际应用 ---模板设计(抽象类) ---制定标准(接口) 3.设计模式 ---工厂设计 ---代理设计 ---适配器设计 二.抽象类与接口之间 ...
- 20145120 《Java程序设计》实验二实验报告
20145120 <Java程序设计>实验二实验报告 实验名称:Java面向对象程序设计 实验目的与要求: 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握U ...
- 实验三《Java面向对象程序设计》实验报告
20162308 实验三<Java面向对象程序设计>实验报告 实验内容 XP基础 XP核心实践 IDEA工具学习 密码学算法基础 实验步骤 (一)Refactor/Reformat使用 p ...
- 20145213《Java程序设计》实验二Java面向对象程序设计实验报告
20145213<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装,继承,多态 初步掌握UML建模 熟悉S.O. ...
- 20145206《Java程序设计》实验二Java面向对象程序设计实验报告
20145206<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...
- 20145308刘昊阳 《Java程序设计》实验二 Java面向对象程序设计 实验报告
20145308刘昊阳 <Java程序设计>实验二 Java面向对象程序设计 实验报告 实验名称 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面相对象三要素:封 ...
随机推荐
- html中<video>显示视频的时候,MP4的格式问题
html支持的视频格式:HTML5视频 注意 浏览器对mp4 的编码方式要求的非常严格 视频编码必须是H.264 音频编码必须是: AAC
- BaseCommand
import java.io.Serializable; import android.util.Log; public class BaseCommand implements Serializab ...
- Python之json文件
{ "people":[ { "firstName": "Brett", "lastName":"McLaug ...
- Freemarker 自定义标签 实现TemplateDirectiveModel
1 自定义标签需要实现TemplateDirectiveModel这个接口中的execute方法 实例代码如下 public class UserListDirective implements Te ...
- eclipse中package explore和project explore 怎么相互切换???
window--->show view--->other---->Java---->Package Explorer或者选project explore之后就可以相互切换了
- 【WCF安全】WCF 自定义授权[用户名+密码+x509证书]
1.x509证书制作(略) 2.直接贴代码 ----------------------------------------------------------------------服务端----- ...
- AES前后加密算法代码
首先下载aes.js加密工具类: 本文采用的是 AES/ECB/PKCS5Padding的加密方式进行加密的: js加密写法如下: <!DOCTYPE html> <html lan ...
- linux 命令详解 sort
转自:https://www.cnblogs.com/51linux/archive/2012/05/23/2515299.html sort是在Linux里非常常用的一个命令,管排序的,集中精力,五 ...
- Indy10收发Hotmail邮件
hotmail开放了pop3,可以使用客户端工具收取邮件了. POP 服务器: pop3.live.com (端口 995)需要 POP SSL?: 是的用户名: Windows Live ID, 比 ...
- git忽略一些提交上传的文件
在项目开发的过程中有两种文件是不需要提交的. 1.一些很重要的配置文件 包括服务器地址 账号密码 数据库密码 公私钥等等 2.一些由于开发和沙箱环境和线上环境的差异 不能使用同一个时候 需要同一个文件 ...