关于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 理解并掌握面相对象三要素:封 ...
随机推荐
- linux进程通信全面解析
进程IPC 的 7种方式 linux下 进程通讯IPC的方式主要有以下7种: 1.文件 2.共享内存 3.信号 4.管道 5.套接字 6.消息列队 7.信号量 以下正文 中 一一 分析下: 1 ...
- HTTrack - 克隆任意网站
HTTrack可以克隆指定网站-把整个网站下载到本地. 可以用在离线浏览上,也可以用来收集信息(甚至有网站使用隐藏的密码文件). 一些仿真度极高的伪网站(为了骗取用户密码),也是使用类似工具做的. K ...
- java 线程基础学习
今天趁空闲时间看了点线程方面的知识 首先看的是volatile关键字,按照我之前书上看到的一点知识,自己的理解是,volatile关键字会阻止编译优化,因为cpu每次读取数据是并不是从高速缓存中读取, ...
- HDU - 4333 :Revolving Digits (扩展KMP经典题,问旋转后有多少个不同的数字小于它本身,等于它本身,大于它本身。)
One day Silence is interested in revolving the digits of a positive integer. In the revolving operat ...
- Android应用框架-Volley网络通信框架
1.Volley简介: Volley是Google 推出的 Android 异步网络请求框架和图片加载框架. 在 Google I/O 2013 大会上发布. 2.Volley特点 扩展性强. And ...
- LeetCode Split Array into Consecutive Subsequences
原题链接在这里:https://leetcode.com/problems/split-array-into-consecutive-subsequences/description/ 题目: You ...
- js中使用分号的情况
- 使用axis2进行webservice发布与调用
一.介绍下cxf.axis.axis2区别 新一代的Web Services 框架如Axis2.CXF 都是由现有的项目中逐渐演化而来的,Axis2 是由大家熟悉的Axis 1.x 系列演化过来,而A ...
- php 两种或的区别 or ||
php 两种或的区别 or || 实验代码. <?php $p = 999 or 1; var_dump($p); $q = 999 | 1; var_dump($q);
- merge into报错ORA-00926、ORA-38014
今天用ibatis写个插入操作,为了兼容修改想使用 merge into语句,以便重复插入时直接 update,具体语句如下: <insert id="wlf"> ME ...