【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. 安装MariaDB和简单配置

    1.安装MariaDB 安装命令 yum -y install mariadb mariadb-server 安装完成MariaDB,首先启动MariaDB systemctl start maria ...

  2. 关于Unity3D手机网游开发一些小看法

    它的知识技能和职责,我就不仔细说了,说细了有一点像招聘启示.他的主要职责虽然负责技术,但是也给产品决策和方向提供一些决策.他最主要的考核指标,就是经验很重要,最好主导或参与过一款网络游戏的开发.举个例 ...

  3. 【java基础学习】反射

    1. 什么是反射 Class.Method.Field.Constructor,它们是反射对象.它们是类.方法.成员变量.构造器,在内存中的形式. 也就是万物皆对象!类是类型.方法是类型.成员变量是类 ...

  4. servers中添加server时,看不到运行环境的选择。

    servers中添加server时,看不到运行环境的选择. 主要原因是tomcat目录中的配置文件格式不对.

  5. 树形结构的数据库表Schema设计

    今天又有幸遇到一个不知道的东西,那就是树型结构在数据库表中设计的问题.由于只是阅读了人家的东西,就直接给连接吧. 第一个:http://blog.csdn.net/monkey_d_meng/arti ...

  6. MFC程序实现窗口分割,视图快捷插入控件和插入列表

    将视图中插入列表: 1.创建一个MFC应用程序,在MFC Wizard中,生成的类选项,如图 2.选择CListView作为基类 3.在CXXView.cpp(XX为你的程序名)重写虚函数OnInit ...

  7. jQuery中模拟用户操作

    有时为了节省不想手动操作网页,但又想看到用户操作时的效果,可以用到jQuery提供的trigger方法.见下图代码 在不点击按钮时仍然想弹出this.value 我们只需要在后面加上.trigger( ...

  8. 如何使用ssh-keygen生成key

    ssh-keygen - 生成.管理和转换认证密钥 通常使用:[b]ssh-keygen -i -f 公密匙名>> authorized_keys[/b] 语法详细介绍 [code]ssh ...

  9. DevExpress gridview下拉框的再次研究

    原文:DevExpress gridview下拉框的再次研究 前几天写了一篇关于研究DevExpress gridview下拉框的随笔(DevExpress gridview下拉框repository ...

  10. phpcms v9更改后台文章排序的方法

    后台文章排序怎么才可以按自己输入的数字排列?如按4,3,2,1,从大到小排列?实现方法如下: 修改文件: phpcms\modules\content 中的 content.php 代码如下: $da ...