java.lang.Object类

类Object是类层次结构的跟(最顶层)类每个类都使用Object作为父(超)类

所有对象(包括数组)都实现这个类的方法

Person类默认继承了0bject类,所以可以使用object类中的tostring方法

string tostring()返回该对象的字符串表示。

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

如果没有重写toString方法那么打印的就是对象的地址值(默认)

如果重写toString方法那么就按重写的方式打印

例子:

private String name;
    private int age;

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

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

    public Person() {
    }

    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;
    }

    public static void main(String[] args) {

        Person person = new Person("张三",18);
        String s = person.toString();
        System.out.println(s);

        System.out.println(person);

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

        Scanner scanner = new Scanner(System.in);
        System.out.println(scanner);

        ArrayList<Integer> list = new ArrayList<Integer>();
        list.add(123);
        list.add(456);
        list.add(789);
        System.out.println(list);
    }

 

Object类的equals方法

Person类黑默t认继承了0bject类,所以可以使用object类的equals方法

boolean equals(object obj)指示其他某个对象是否与此对象“相等”。

object类equals方法的源码:

pubiic booLean equals(0bject obj) {

return (this '-- obj);

}

参数:obJect obJ:可以传递任意的对象

方法体:

  ==:比权运异付,返口的就量一个币小值true ,false

       基本数据类型:比较的是值

       引用数据类型:比较的是两个对象的地址值

默认比较的是地址值。

例子:

 Person p1 = new Person("张三",18);
        Person p2 = new Person("赵四",18);
        p1=p2;
        boolean equals = p1.equals(p2);
        System.out.println(equals);

 

posted on 2022-07-04 09:28  淤泥不染  阅读(18)  评论(0编辑  收藏  举报