【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. PacBio软件总览 - 初级分析

    PacBio® RS Software Overview PacBio运行的整个流程是什么?每一步都用到了什么软件? PacBio软件套件 RS Remote:Design runs remotely ...

  2. js用ajax和不同页面的php互相传值的方法

    js里的代码:<script> var json; //获取所有class名为zhi的标签 var zhi = document.getElementsByClassName('zhi') ...

  3. 显示段落p中的前半部分内容 剩下的用三个点代替,点击更多时显示所有内容

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

  4. selenium+python笔记2

    #!/usr/bin/env python # -*- coding: utf-8 -*- """ @desc: 操作浏览器 """ fro ...

  5. 二级菜单jquery

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

  6. 各种浏览器css hack

    转载 http://www.cnblogs.com/jikey/archive/2010/06/21/1761924.html IE都能识别*,标准浏览器(如FF)不能识别*:IE6能识别*,但不能识 ...

  7. asp.net 奇淫技巧

    VS2013自动注释插件 分享一个Visual Studio的背景插件,让堆码更富情趣 工欲善其事必先利其器系列之:更换Visual Studio代码风格. 为Visual Studio更换皮肤和背景 ...

  8. JAVA 正则 Pattern 和 Matcher

    java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包. 1.简介:  java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包. ...

  9. PHP生成word的三种方式

    摘要: 最近工作遇到关于生成word的问题 现在总结一下生成word的三种方法. btw:好像在博客园发表博客只要是标题带PHP的貌似点击量都不是很高(哥哥我标题还是带上PHP了),不知道为什么,估计 ...

  10. enum使用总结

    enum的一般使用方法是它会占用最大的成员长度 然后我忘记的是enum还可以这样使用 enum ExctState { START, SUCCEED, FAILURE=6, REJECT, }; 这样 ...