Object 类中常见的方法

一丶GetClass()

        1.方法被final修饰,并且不允许子类的覆盖。

        2.作用:获取创建的引用中实际对象的存储类型。

        3.在实际开发中,用==判断两边存储的类型是否一致,返回一个boolean值,

                例:System.out.println("a.getClass()==b.getclass()");这里a b是两个引用;

        4.跟instanceof还是有区别的  instanceof 是判断前面的类型是否兼容于后面的类型。

二丶int hashCode();

        1.hashcode() 没有被final 修饰,允许子类覆盖;

        2.返回的值是对象的哈希码值(返回的类型是一个int整数);

        3.Object中的hashCode方法哈希码值来源:将对象再内存的中的十六进制的地址转换为十进制的整数

        4.由于不同对象堆空间中的地址不同,所以不同对象有不同的哈希码值;

三丶String toString()

         1.没有被final修饰,允许子类的覆盖;

         2.应用:通常覆盖toString 然后展示对象信息

           覆盖原则:将所有的对象的属性拼接的为String进行展示;

         3.get方法和toString的方法的区别:

                get可以获取所有属性的信息,然后不改变对象的数据类型

                 toString将对象中的属性拼接字符串,然后作为返回值进行输出;

四丶boolean equals(Objiect obj)

  1. 没有被final修饰,允许子类覆盖;用于判断两个对象内容是否相等,返回一个boolean值;
  2. 与==的区别:==两端连接的是一种是基本数据类型 ,判断两端的值是否相等;
  3. 另一种是 两端为引用类型 用于判断两边引用的地址是否相等;
  4. 源码分析:

System.out.println(s.equals(s2));

Public Boolean equals(Object obj){

        If(this==obj){

        Return true;//判断两个指针是否指向一个对象;

}

If(obj==null){

Return false;//判断obj是否为null;

}

If(this.getClass()!=obj.getClass()){

Return false;

}

强制类型转换:

If(this.数据==转换后的数据,&&对应进行判断){

       Return true;

}

}

补充 ==:如果两端为基本数据类型  判断值是否相等

                如果两端为为引用  判断两边引用地址是否相等,是否指向同一个对象;

Equals:用于判断两个对象的内容是否相等(需要覆盖)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值