13.1. Java根类Object

Object类有很多方法,常用的几个方法:

  • String toString():返回该对象的字符串表示。
  • boolean equals(Object obj):指示其他某个对象是否与此对象“相等”。

13.1.1. * String toString()

ObjectToString.java

package aom;

public class ObjectToString {
    String name;
    int age;

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

    @Override
    public String toString() {
        return "Person : name" + name + " " + "age:" + age;
    }

    public static void main(String[] args) {
        ObjectToString hu = new ObjectToString("hujianli",18);
        System.out.println("实例化后的内容是"+hu);

    }
}

/**
 实例化后的内容是Person : namehujianli age:18
 **/

13.1.2. * boolean equals(Object obj)

Person.java

package com.a51work.cn;

public class Person {
    String name;
    int age;

    // 构造方法
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    @Override
    public String toString() {
        return "Person name: " + name + " " + "age:" + " " + age;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj instanceof Person){
            Person otherPerson = (Person) obj;
//            年龄作为比较规则
            if (this.age == otherPerson.age){
                return true;
            }
            }
        return false;
    }

    public static void main(String[] args) {
        Person h1 = new Person("hujianli",19);
        Person h2 = new Person("xiaohu",18);
        Person h3 = new Person("xiaomei",19);

        System.out.println(h1 == h2);       //false
        System.out.println(h1.equals(h2));  //false
        System.out.println(h1.equals(h3));  //true
    }
}

/*
==运算符是比较
两个引用变量是否指向同一个实例,equals()方法是比较两个对象的内容是否相等,通常字符串的比
较,只是关心的内容是否相等。

 * */