Object类及Objects类

Object类及Objects类Object类java.lang.Object类是java语言中的根类,所有类的父类. 特点:  如果一个类没有指定父类,那么默认继承Object类(所有类的爹)在API文档中,Object类里面共有11个方法:常用的方法:1.publicStringtoString()  返回该对象的字符串,默认为:类全名+@+内存地址值.(类全名=包名+类名)  重写toString()方…

大家好,欢迎来到IT知识分享网。

Object类

java.lang.Object 类是java语言中的根类,所有类的父类.
 
特点:
  如果一个类没有指定父类,那么默认继承Object类(所有类的爹)


在API文档中,Object类里面共有11个方法:
常用的方法:
1. public String toString()
   返回该对象的字符串,默认为:
类全名+@+内存地址值.(
类全名 = 包名 + 类名)
   
重写toString()方法:表示需要打印该类的属性.
   重写可以通过idea自动生成或自己重写.

Object类及Objects类

class Student{
    private String name ;
    private int age;
       
       //自动重写
    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

   重写后如何调用:
    *直接调用(使用对象调用)
    *间接调用(打印该对象)
Student stu = new Student();
//直接调用(使用对象调用)
System.out.println(stu.toString());
//间接调用(打印该对象)
System.out.println(stu);


2. public boolean equals(Object obj)
   用来比较2个对象的方法.
   默认比较2个对象的地址.如果不是同一对象,则为false
 
 重写equals方法:比较2个对象的属性是否相等.(也可以通过idea自动生成,方式一样)
public class Person {
    private String name;
    private int age;

    @Override
    public boolean equals(Object o) {
        //如果对象地址一样,认为相同
        if (this == o)
            return true;
        //如果参数为空,或者类型不一样
        if (o == null || getClass() != o.getClass())
            return false;
        //向下转型
        Person person = (Person) o;
        //要求基本类型相同,并且引用类型交给java.util.Objects类的equals静态方法
        return age == person.age && Objects.equals(name, person.name);
    }
}

3.Clss<?> getClass() 
   返回此Object的运行类(等于获取对象的类)

4.int hashCode()
    返回对象的哈希码值

Objects类

jdk1.7后出现.提供静态方法操作对象.

常用方法:

1.public static boolean equals(Object a,Object b):比较对象a和对象b是否相等.
  *比较2个对象是否相等,
底层依赖对象重写的equals的方法,如果没有重写,则使用Object的equals()

2.public static <T> T requireNonNull(T obj):检查对象obj不为null,如果为null,则抛出空指针异常,否则返回obj本身.
 
*可以判断对象是否是空对象.限制参数不能为空.

3.public static boolean nonNull(Object obj):判断对象是否为null,不为返回true,否则返回false

4.public static boolean isNull(Object obj):和nonNull()相反.

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/23617.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信