- 0
- 0
- 约1.77万字
- 约 81页
- 2017-04-01 发布于四川
- 举报
第4讲—面向对象程序的设计
equals()方法 主要用来比较两个对象是否相等,使用格式为: obj1.equals(obj2) ; 上述表达式用来比较两个对象obj1和obj2是否相等,若相等则返回true,否则返回false。 但两个对象比较的是什么呢? 首先我们来看一下equals()方法在Object类中的定义,其定义如下: public boolean equals(Object obj){ return (this == obj); } Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. equals()方法 由此可以看到,该方法的比较是两个对象的引用,即相当于两个对象使用“==”号进行比较,这一点非常重要。 正因为这样,下面的代码输出false。 Circle c1 = new Circle(10) , c2 = new Circle(10) ; System.out.println(c1.equals(c2)) ; Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. equals()方法 经常需要比较两个对象的内容是否相等,比如对于圆来说,如果两个圆的半径相等,我们就认为它们相等。 要达到这个目的就需要在Circle类中覆盖equals()方法。 在Circle类中我们可以这样覆盖equals()方法。 public boolean equals(Object obj){ if(obj instanceof Circle){ return this.radius==((Circle)obj).radius; }else return false; } Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. toString()方法 调用对象的toString()方法可以返回用字符串表示的对象。 但该方法在Object类中的定义是返回类名加一个@符号,再加一个16进制数表示的该对象的散列码值。 假如没有在Circle类中覆盖Object类的toString()方法,执行下面的代码: Circle cc = new Circle(5) ; System.out.println(cc.toString()); 可能产生类似下面的输出:Circle@89ae9e Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. toString()方法 通常在一个类中覆盖Object类的toString()方法,使它返回一个有意义的字符串。例如在Cylinder类中按如下覆盖toString()方法: public String toString(){ return [Circle] radius = + getRadius(); } 语句System.out.println(cc.toString())的输出结果为: [Circle] radius=5.0 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 抽象类与接口 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 抽象类 抽象类:用abstract关键字来修饰的类。 声明为abstract的类不能被实例化。它只提供了一个基础,为了实例化,该类必须作为父类,子类可以通过继承它,然后添加自己的属性和方法形成具体的有意义的类。 抽象类必须被继承。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client
您可能关注的文档
- 第4章节国际服务贸易协议.ppt
- 第4章节国际贸易活动的主要形式.ppt
- 第4章节化工制图基本知识点.ppt
- 第4章节国际货物买运输与保险.ppt
- 第4章节单相交流电路的剖析.ppt
- 第4章节图像的调整与校正3.ppt
- 甘肃省永昌县第一高级中学2011-2012年度高二下学期期末考试物理试题.doc
- 甘肃省民勤一中2011年高三高考预测卷化学.doc
- 第4章节图形用户界面的设计.ppt
- 甘肃省民勤四中2013-2014年度高一上学期第二次月考政治试题.doc
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- 兰科植物促生菌筛选与人工栽培技术研究.pdf
- 氢氧化钠(片碱)MSDS安全技术说明书.docx
- 国家开放大学电大《成本会计》试题及答案.pdf
- 数学分析第四版下册课后习题答案.pdf
- 数学分析第四版下册课后习题答案.docx
- 2025年秋国家开放大学《商务英语3》形考任务参考答案.pdf
- Unit 2 Know your body Speed up 外研版(三起)(2024)英语三年级下册.pptx VIP
- 2026年春季开学教师收心会校长发言:骏驰启新程,笃行育新人;凝心再聚力,实干谱新篇.docx VIP
- Unit 2 Know your body Start up 外研版(三起)(2024)英语三年级下册.pptx VIP
- 空客A320飞行手册教程.doc VIP
原创力文档

文档评论(0)