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比较内容

      

  • 相关阅读:
    11-27:项目进度
    11-23:项目进度
    Scrum团队成立,阅读《构建之法》第6~7章,并参考以下链接,发布读后感、提出问题、并简要说明你对Scrum的理解
    团队项目:二次开发
    实验二 作业调度
    欣赏并且评价同学的复利计算博客
    对于我们的复利计算程序的升级
    用汉堡包的方式评价一下自己的合作伙伴
    结对项目:复利计算
    软件工程构建之法第四章读后感
  • 原文地址:https://www.cnblogs.com/xsh726/p/11365168.html
Copyright © 2011-2022 走看看