1,Object 类的 特点:

  1. Object是所有类的父类(祖宗),所有类都直接或间接的继承了Object类。
  2. 一个类如果没有继承的父类,那将自动继承Object类;
  3. Object类的方法是一切子类都可以直接使用的,要学习Object类的一些方法。

    2,Object 类的 常用方法:(用于操作类对象)

    A,toString():public String toString()

    返回对象的字符串表示形式。建议所有子类重写该方法,自动生成
    可用于,打印对象的属性内容;(自己创建的类需要重写)但在java自带的类中都重写过,则不需要,如:String。
    所以,要输出自己写的类就要重写toString()方法;

    1. //Person类
    2. public class Person {
    3. private String name;
    4. private int age;
    5. public Person() {
    6. }
    7. public Person(String name, int age) {
    8. this.name = name;
    9. this.age = age;
    10. }
    11. public String getName() {
    12. return name;
    13. }
    14. public void setName(String name) {
    15. this.name = name;
    16. }
    17. public int getAge() {
    18. return age;
    19. }
    20. public void setAge(int age) {
    21. this.age = age;
    22. }
    23. //重写 toSting方法:
    24. @Override
    25. public String toString() {
    26. return "Person{" +
    27. "name='" + name + '\'' +
    28. ", age=" + age +
    29. '}';
    30. }
    31. }
    32. //主类
    33. public class Demo01 {
    34. public static void main(String[] args) {
    35. Person person = new Person("dad",19);
    36. //在这里就能用toString输出变量啦;
    37. System.out.println(person.toString());
    38. }
    39. }

    B,equals()方法:public boolean equals(Object obj)

    作用:比较对象内容是否相等(需要被子类重写)或者根据场景编写需要的实际逻辑进行比较。默认比较地址,重写可以比较内容,自动生成(一键生成:Generater -> equals() and HashCode() )
    因为,object类里面的equals方法里面默认是 == 比较(比较地址);
    注意:因为参数Object是父类,所以要将object的对象强转为子类对象才能用子类的属性内容。 ```java //Person类: public class Person { private String name; private int age;

    public Person() { }

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

    public String getName() { return name; }

    public void setName(String name) { this.name = name; }

    public int getAge() { return age; }

    public void setAge(int age) { this.age = age; }

    //重写equals方法 @Override public boolean equals(Object o) { if (this == o) {

    1. return true;

    } //判断父类Object的内容是否为空,且是否是两个类的内容,如是,则false; if (o == null || getClass() != o.getClass()) {

    1. return false;

    } //将 Object 类的对象 o,强制转成子类的对象 person;便于使用子类的属性内容 Person person = (Person) o;

    if (age != person.age) {

    1. return false;

    } return name != null ? name.equals(person.name) : person.name == null; }

} //主类: public class Demo01 { public static void main(String[] args) { Person person1 = new Person(“dad”,19); Person person2 = new Person(“dad”,19);

  1. //去比较Person类的两对象是否相等;
  2. System.out.println(person1.equals(person2));
  3. }

}

```