2018-03-06学习小结 - 关于类的专题研究1

回顾

13.2.5 接口的作用——代理设计模式(Proxy)

13.3 抽象类和接口对比

13.4 点拨

习题

学习小结

14 关于类的专题研究

14.1 众类鼻祖——Object类

Java中所有类从根本上都继承Object类。Object类是Java类层中的最高层类,是所有类的超类。

public class Person { // 当没有指定父类时,会默认Object类为其父类
···
}

等价于

public class Person extends Object {
···
}

Object常用方法1
Object常用方法2

14.1.1 取得对象信息:toString()

在打印对象时被调用,将对象信息变成为字符串返回。

范例14-1:Object类的使用

package com.Javastudy2;

/**
 * @author Y.W.
 * @date 2018年3月6日 下午10:24:04
 * @Description TODO Object类的使用
 */
public class P353_14_1 {

    public static void main(String[] args) {
        Person24 p = new Person24();
        System.out.println(p);
        System.out.println(p.toString());
    }

}

class Person24 extends Object {
    String name = "张三";
    int age = 25;
}

运行结果:

运行结果

范例14-2:覆写Object类的方法

package com.Javastudy2;

/**
 * @author Y.W.
 * @date 2018年3月6日 下午10:42:13
 * @Description TODO 覆写Object类的方法
 */
public class P354_14_2 {

    public static void main(String[] args) {
        Person25 p = new Person25();
        System.out.println(p);
    }

}

class Person25 extends Object {
    String name = "张三";
    int age = 25;

    // 覆写Object类中的toString()方法
    public String toString() {
        return "我是:" + this.name + ",今年:" + this.age + "岁";
    }
}

运行结果:

运行结果

14.1.2 对象想等判断方法:equals()

用于比较是否想等,必须被覆写。

范例14-3:没有覆写Object类中的equals方法

package com.Javastudy2;

/**
 * @author YangWang
 * @date 2018年3月6日 下午10:52:03
 * @Description TODO 没有覆写Object类中的equals方法
 */
public class P355_14_3 {

    public static void main(String[] args) {
        Person26 p1 = new Person26("张三", 25);
        Person26 p2 = new Person26("张三", 25);
        // 判断p1和p2的内容是否想等
        System.out.println(p1.equals(p2) ? "是同一个人!" : "不是同一个人!");
    }

}

class Person26 {
    private String name;
    private int age;

    public Person26(String name, int age) {
        this.name = name;
        this.age = age;
    }
}

运行结果:

运行结果

实际比对两个对象的内存地址。

范例14-4:equals方法的覆写

package com.Javastudy2;

/**
 * @author Y.W.
 * @date 2018年3月6日 下午11:00:36
 * @Description TODO equals方法的覆写
 */
public class P356_14_4 {

    public static void main(String[] args) {
        Person27 t_p1 = new Person27("张三", 25);
        Person27 t_p2 = new Person27("张三", 25);
        // 判断p1和p2的内容是否想等
        System.out.println(t_p1.equals(t_p2) ? "是同一个人!" : "不是同一个人");
    }

}

class Person27 {
    private String name;
    private int age;

    public Person27(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // 覆写父类(Object类)中的equals方法
    public boolean equals(Object o) {
        boolean temp = true;
        // 声明一p1对象,此对象实际上就是当前调用equals方法对象
        Person27 p1 = this;
        // 判断Object类对象是否是Person的实例
        if (o instanceof Person27) {
            // 如果是Person类实例,则向下转型
            Person27 p2 = (Person27) o;
            // 调用String类中的equals方法
            if (!(p1.name.equals(p2.name) && p1.age == p2.age)) {
                temp = false;
            }
        } else {
            // 如果不会person类的实例,则直接返回false
            temp = false;
        }
        return temp;
    }
}

运行结果:

运行结果

思考

Object类是所有类的父亲,有意思。


记于2018年3月6日23:20:30
Yvan

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,594评论 18 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,571评论 18 399
  • Java8张图 11、字符串不变性 12、equals()方法、hashCode()方法的区别 13、...
    Miley_MOJIE阅读 3,690评论 0 11
  • 友情的岁月,是记忆里最美的画面。 最近火热的《我的前半生》,大家除了各种励志、吐槽,还羡慕罗子君有唐晶这样白富美高...
    文文心儿阅读 664评论 7 18
  • 当流星已然划过天际, 我依旧抬头看着若隐若现的星空。 我不知我是留恋着那刹那的绚丽, 还是等待新的美丽划...
    思与行阅读 134评论 0 0