【16-1】Object概述&Object-equals方法&toString方法。
==========================================================================================
class Person extends Object
{
private int age;
Person(int age)
{
this.age = age;
} public boolean equals(Object obj)
{
if(this == obj)
return true; if(!(obj instanceof Person))
throw new ClassCastException("类型是不对的,请改正!");
Person p = (Person)obj;
return this.age == p.age;
}
} class ObjectTest
{
public static void main(String[] args)
{
Person p = new Person(12);
Person p1 = new Person(13);
System.out.println(p.equals(p1));
}
} =========================================================================================== //Object概述&Object-equals方法&toString方法 /*
Object类中的常用方法。 Object类是所有类的根类,定义了所有对象都具备的功能。
API(应用程序接口)文档 //可以在JDK目录下的src\java\lang\object里面查看源代码 */ class Person extends Object
{
private int age;
Person(int age)
{
this.age = age;
} //判断是否是同龄人,这个方法也是在比较两个Person对象是否相等。
//注意:Person类中是否有比较两个Person对象相等的方法?有的,因为继承Object,他本身就具备equals方法
//既然有,还需要定义compare方法吗?不需要!
//但是,equals方法判断的是地址,不是我们所需要的内容。
//咋办?继续使用object的equals方法,但是建立子类的自己额内容,这就是传说中的重写。
//重写。 //记住:以后要判断对象是否相同,就需要覆盖equals方法。 //判断是否是同龄人 public boolean equals(Object obj)
{
//建立Person自己的判断相同的依据,判断年龄是否相相同。
//return this.age == p.age; //obj所属类型Object,Object中没有定义age,所以编译失败。 //如果调用该方法的对象和传递进来的对象是同一个,就不要转型和判断,直接返回true.
if(this == obj)
return true; //age是Person类型的属性,既然要用到子类型的内容,需要向下转型。
if(!(obj instanceof Person))
// return false;
throw new ClassCastException("类型是不对的!请改正");
Person p = (Person)obj;
return this.age == p.age;
} public String toString()
{
return "person[age = "+age+"]";
}
/*
public boolean compare(Person p)
{
return this.age == p.age;
}*/ } class Dog
{
} class ObjectTest
{
public static void main(String[] args)
{
Person p1 = new Person(12);
Person p2 = new Person(14);
//p1.equals(new Dog()); //System.out.println(p1.equals(p1)); System.out.println(p1.toString());
System.out.println(p2); //System.out.println(p1.compare(p2)); //System.out.println(p1==p2);
//System.out.println(p1.equals(p2));
}
}

《Objiect》的更多相关文章

  1. 天河微信小程序入门《四》:融会贯通,form表单提交数据库

    天河在阔别了十几天之后终于又回来了.其实这篇文章里的demo是接着(天河微信小程序入门<三>)后面就做了的,但是因为最近在做别的项目,所以就偷懒没有发出来.放到今天来看,从前台提交数据到数 ...

  2. 天河微信小程序入门《三》:打通任督二脉,前后台互通

    原文链接:http://www.wxapp-union.com/forum.php?mod=viewthread&tid=505&extra=page%3D1 天河君在申请到https ...

  3. 《社交网络》里的评分公式——ELO排名系统

    <社交网络>里的Mark Zackburg被女朋友甩后,在舍友的启发下,充分发挥了技术宅男自娱自乐的恶搞天分,做出了Facemash网站,对学校女生的相貌进行排名打分,结果网站访问流量过大 ...

  4. 原创:从零开始,微信小程序新手入门宝典《一》

    为了方便大家了解并入门微信小程序,我将一些可能会需要的知识,列在这里,让大家方便的从零开始学习:一:微信小程序的特点张小龙:张小龙全面阐述小程序,推荐通读此文: 小程序是一种不需要下载.安装即可使用的 ...

  5. 《InsideUE4》GamePlay架构(十)总结

    世界那么大,我想去看看 引言 通过对前九篇的介绍,至此我们已经了解了UE里的游戏世界组织方式和游戏业务逻辑的控制.行百里者半九十,前述的篇章里我们的目光往往专注在于特定一个类或者对象,一方面固然可以让 ...

  6. 《InsideUE4》-8-GamePlay架构(七)GameMode和GameState

    我的世界,我做主 引言 上文我们说到在Actor层次,UE用Controller来充当APawn的逻辑控制者,也有了可以接受玩家输入的PlayerController,和能自行行动的AIControl ...

  7. 《InsideUE4》-7-GamePlay架构(六)PlayerController和AIController

    PlayerController:你不懂,伴君如伴虎啊 AIController:上来,我自己动 引言 上文我们谈到了Component-Actor-Pawn-Controller的结构,追溯了ACo ...

  8. 《InsideUE4》-6-GamePlay架构(五)Controller

    <InsideUE4>-6-GamePlay架构(五)Controller Tags: InsideUE4 GamePlay 那一天 Pawn又回想起了 被Controller所支配的恐惧 ...

  9. 《InsideUE4》-5-GamePlay架构(四)Pawn

    <InsideUE4>-5-GamePlay架构(四)Pawn Tags: InsideUE4 我像是一颗棋 进退任由你决定 我不是你眼中唯一将领 却是不起眼的小兵 引言 欢迎来到Game ...

随机推荐

  1. Canu Parameter Reference(canu参数介绍)

    链接:Canu Parameter Reference To get the most up-to-date options, run canu -options The default values ...

  2. libsvm 之 easy.py(流程化脚本)注释

    鉴于该脚本的重要性,很有必要对该脚本做一个全面的注释,以便可以灵活的使用libsvm. #!/usr/bin/env python # 这种设置python路径的方法更为科学 import sys i ...

  3. 垂直的seekbar

    看下效果: 1 package org.qianyukun.core.views; import android.content.Context; import android.graphics.Ca ...

  4. Now直播应用的后台服务器性能测试实践

    版权声明:本文由Oliver原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/208 来源:腾云阁 https://www.q ...

  5. dede如何新建一个ajax服务端输出文件

    <?phprequire_once(dirname(__FILE__)."/include/common.inc.php");AjaxHead();    $dsql-> ...

  6. echarts饼图--数据交互

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  7. hdu 2473 Junk-Mail Filter (并查集之点的删除)

    Junk-Mail Filter Time Limit: 15000/8000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  8. iOS app性能优化的那些事

     iPhone上面的应用一直都是以流畅的操作体验而著称,但是由于之前开发人员把注意力更多的放在开发功能上面,比较少去考虑性能的问题,可能这其中涉及到objective-c,c++跟lua,优化起来相对 ...

  9. MATLAB 矩阵转化为灰度图

    A=[ 1.00 0.96 0.98 0.88 0.94 0.61 0.96 0.80 0.98 0.89 0.96 1.00 0.94 0.90 0.95 0.71 0.96 0.83 0.90 0 ...

  10. 两段超简单jquery代码解决iframe自适应高度问题(不用判断浏览器高度)

    这里介绍两个超级简单的方法,不用写什么判断浏览器高度.宽度啥的.下面的两种方法自选其一就行了.一个是放在和iframe同页面的,一个是放在test.html页面的.注意别放错了地方.iframe的代码 ...