zoukankan      html  css  js  c++  java
  • object类

    1.Object类的概述

    1.所有的类都直接或者间接的继承该类   (object)

    2.Object类中的 hashCode() 方法

    1.public hashCode() 

      返回该对象的哈希码值,默认情况下会根据对象的地址去计算,

      不同对象的 hashCode() 一般来说不会相同,但不同对象的 hashCode() 肯定相同

      

    1 Object o = new Object();
    2        int hashCode = o.hashCode();  // 查看源码的方式:ctrl + 鼠标左键
    3        System.out.println(hashCode); //1163157884
    4 
    5        Student s = new Student("zhangsan",19);
    6        Student s2 = new Student("lisi",23);
    7        System.out.println(s.hashCode());
    8        System.out.println(s2.hashCode());  // ctrl + alt + 向下

    3.Object类的 getClass()方法

      1.public final Class getClass()

       返回此 Object 的运行类,返回类名 ,包名

    4.toString()方法

      public String toString ()

      返回该对象的在字符串表示        (地址值十六进制的形式出现)

      默认数据: getClass().getName() + "@" + Integer.toString(hashCose)   

      默认数据一般对我们来说没意义,建议重写该方法

      在输出对象名时显示

    5.equals()方法

      调用对象是否与输入对象”相等“

      默认情况比较的时对象的引用是否相等,但比较对象引用没意义,所以建议重写

      

    1 public boolean equals(Object obj){
    2     Student s = (Student)obj;//向下转型到Student类中
    3     return(this.name.equals(s.name)&&this.age == s.age)
    4     }

    6. ==  和 equals 的区别

       ==     比较运算符,即可以比较基本数据类型,也可以比较引用数据类型,

             基本数据类型比较的是值,引用数据类型比较的是地址值

       equals   只是一个方法,只能比较引用用数据类型,所有对象都会继承Object类中的方法,

            如果没有重写Object类中的equals方法,那equals和== 的比较引用数据类型没有区别

            重写后equals方法比较的是对象中的属性

         在比较引用数据类型时 == 比较地址值   equals比较内容

      

  • 相关阅读:
    Sencha的Eclipse插件提示和技巧
    《敏捷软件开发过程及最佳实践》培训总结
    《Sencha应用程序的UI测试 》一文的示例分析
    Ext JS 4.2 Beta版发布
    迅速解决resin或者tomcat启动闪一下就消失的问题
    import javax.servlet 出错
    有爱好者把我的CMS管理系统改成了JAVA版,有兴趣的可以看看
    一个@符号引发的血案:Access数据库无法更新
    Windows 7下如何安装和配置IIS 7和ASP
    .Net中Freetextbox_1.6.3的使用与ftb.imagegallery.aspx安全修正
  • 原文地址:https://www.cnblogs.com/xsh726/p/11365168.html
Copyright © 2011-2022 走看看