首页 > 编程语言 > 详细

java常用类之Object

时间:2020-03-14 19:32:52      阅读:71      评论:0      收藏:0      [点我收藏+]
Object类:
    * 类层次结构的根类
    * 所有类都直接或者间接的继承自该类
 
常用方法:
1.hashCode()
package org.ks.常见对象.Object;

import java.util.Scanner;

/*hashCode();
* 1.返回该对象的哈希码值,默认情况下,该方法会根据对象的地址来计算
* 2.返回的不是对象的实际地址值,可以理解为逻辑地址值
*/
public class Demo1_hashCode {
  public static void main(String[] args) {
    Object obj = new Object();
    int hashcode = obj.hashCode();
    System.out.println(hashcode);      //991505714
  }
}

2.hasClass()

package org.ks.常见对象.Object;

import java.util.Date;

public class Demo2_getClass {

    public static void main(String[] args) {
        Date date = new Date();
        Class clazz = date.getClass();                //获取clazz对象的字节码文件
        String name = clazz.getName();        //以 String 的形式返回此 clazz对象所表示的实体(类,接口,数组类,基本类型或void)名称
        System.out.println(name);
    }

}

3.toString()

package org.ks.常见对象.Object;

public class Demo3_toString {

    public static void main(String[] args)
    {
        Student stu = new Student("柯盛",20);
        
        /*
        //继承自Object的toString()方法:已十六进制的形式返回stu对象的哈希地址
        String str = stu.toString();      //return getClass().getName() + "@" + Integer.toHexString(hashCode());
        System.out.println(str);          //org.ks.常见对象.Object.Student@16f65612
        */
        
        //调用自己重写的toString()方法
        System.out.println(stu.toString());     //柯盛,20
        System.out.println(stu);
    }

}

4.equals()

package org.ks.常见对象.Object;

public class Demo4_equals {

    public static void main(String[] args) {
        Student stu1 = new Student("张三",20);
        Student stu2 = new Student("张三",20);;
        boolean result = stu1.equals(stu2);         //false     比较的是对象的地址值
        boolean result2 = stu1.getName().equals(stu2.getName());     //true         一般equals()用于比较对象的某个属性是否相等
        
        System.out.println(result2);
        
        //要想直接比较对象之间是否相等,需要对equals()进行重写
        /*
        @Override
        public boolean equals(Object obj) {
            Student s = (Student)obj;
            return this.name.equals(s.name) && this.age == s.age;
        }
        */
        System.out.println(result);       //true
    }

}

 

java常用类之Object

原文:https://www.cnblogs.com/kesheng/p/12493508.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!