Object类的toString方法与Object类的equals方法

 

java.lang.object类是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。在对象实例化的时候,最终找的父类就是Object。
如果一个类没有特别指定父类,那么默认则继承自Object类。例如∶

public class Myclass /*extends object*/ {
    //....
}

第一个方法

 

 

 第二个方法

  

 

 

Object类的toString方法

复制代码
package Object_demo01;

public class Person {
    private String name;
    private int age;

    public Person() {
    }

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

    /*
    直接打印对象的地址没有意义,需要重写Object类的toString方法
    打印对象的属性(name 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;
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}
复制代码

 

复制代码
package Object_demo01;

import java.util.ArrayList;
import java.util.Random;

/*
java.Lang .object类
类object是类层次结构的根(最顶层)类。每个类都使用object作为超(父)类。
所有对象(包括数组》都实现这个类的方法。
 */
public class Demo01ToString {
    public static void main(String[] args) {
        /*
        Person默认继承了Object类,所以我可以使用object类中的toString方法
        String toString()返回该对象的字符串表示
         */
        Person p = new Person("张三",19);
        String s =p.toString();
        System.out.println(s);//Object_demo01.Person@1b6d3586,显示是我们这个包路径

        //直接打印对象的名字,其实就是调用对象的toString方法 p=p.toString();
        System.out.println(p);//Object_demo01.Person@1b6d3586

        //看一个类是否重写了toString方法,直接打印这个类对应对象名字即可


        Random random = new Random();
        System.out.println(random);

        ArrayList<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        System.out.println(list);
    }
}
复制代码

 

Object类的equals方法

 

复制代码
package Object_demo01;
/*
Person类默认继承了object类,所以可以使用object类的equals方法boolean equals(object obj)指示其他某个对象是否与此对象“相等”。object类equals方法的源码:
public boolean equals(Object obj) i
return (this -= obj);
参数:
object obj:可以传递任意的对象方法体:
==:比较运算符,返回的就是—个布尔值true,false基本数据类型:比较的是值
引用数据类型:比较的是两个对象的地址值
this是谁?那个对象调用的万法,方法中的this就是那个对象; p1调用的equals方法,所以this就是P1obj是谁?传递过来的参数p2
 */
public class Demo01equals {
    public static void main(String[] args) {

        Person p1 = new Person("马可波罗",35);
        Person p2 = new Person("圣枪游侠",35);
        p1=p2;

        System.out.println("p1"+p1);
        System.out.println("p1"+p2);
        boolean equals = p1.equals(p2);
        System.out.println(equals);
    }
    //equals比较的是地址值
}
复制代码

 

 

package Object_demo01;

import java.util.ArrayList;
import java.util.Random;

/*
java.Lang .object
object是类层次结构的根(最顶层)类。每个类都使用object作为超()类。
所有对象(包括数组》都实现这个类的方法。
*/
public class Demo01ToString {
public static void main(String[] args) {
/*
Person默认继承了Object类,所以我可以使用object类中的toString方法
String toString()返回该对象的字符串表示
*/
Person p = new Person("张三",19);
String s =p.toString();
System.out.println(s);//Object_demo01.Person@1b6d3586,显示是我们这个包路径

//直接打印对象的名字,其实就是调用对象的toString方法 p=p.toString();
System.out.println(p);//Object_demo01.Person@1b6d3586

//看一个类是否重写了toString方法,直接打印这个类对应对象名字即可


Random random = new Random();
System.out.println(random);

ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
System.out.println(list);
}
}
posted @   zj勇敢飞,xx永相随  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示