Java复习之路-day11-Eclipse&Object类

Eclipse+Object类

  1. 与Eclipse相关的资料就不赘述了。
  2. 常见对象(Object类的概述)(了解)
  • A:Object类概述
    • 类层次结构的根类
    • 所有类都直接或者间接的继承自该类
  • B:构造方法
    • public Object()
    • 回想面向对象中为什么说:
    • 子类的构造方法默认访问的是父类的无参构造方法
  1. 常见对象(Object类的hashCode()方法)(了解)
  • A:案例演示
    • public int hashCode()
    • a:返回该对象的哈希码值。默认情况下,该方法会根据对象的地址来计算。
    • b:不同对象的,hashCode()一般来说不会相同。但是,同一个对象的hashCode()值肯定相同。
public class Demo1_HashCode {
    public static void main (String[] args) {
        Object obj1 = new Object();
        int hashcode = obj1.hashCode();
        System.out.println(hashCode);
        
        Student s1 = new Student("张三", 23);
        Student s2 = new Student("李四", 24);
        
        System.out.println(s1.hashCode());
        System.out.println(s2.hashCode());
    }
}
  1. 常见对象(Object类的getClass()方法)(在反射的时候掌握)
  • A:案例演示
    • public final Class getClass()
    • a:返回此 Object 的运行时类。
    • b:可以通过Class类中的一个方法,获取对象的真实类的全名称。
      • public String getName()
public class Demo2_GetClass {
    public static void main (String[] args) {        
        Student s1 = new Student("张三", 23);
        
        Class clazz = s.getClass(); // 获取该对象的字节码文件
        String name = clazz.getName(); // 获取名称
        System.out.println(name);
    }
}
  1. 常见对象(Object类的toString()方法)(掌握)
  • A:案例演示

    • public String toString()
    • a:返回该对象的字符串表示。
  •   public Stirng toString() {
      	return name + "," + age;
      }
    
    • b:它的值等于:
      • getClass().getName() + “@” + Integer.toHexString(hashCode())
    • c:由于默认情况下的数据对我们来说没有意义,一般建议重写该方法。作用:可以更方便地显示属性值(通过重写)
    • 如果直接打印对象的引用,就相当于默认调用toString()方法。
  1. 常见对象(Object类的equals()方法)(掌握)
  • A:案例演示
    • a:指示其他某个对象是否与此对象“相等”。
    • b:默认情况下比较的是对象的引用是否相同。
    • c:由于比较对象的引用没有意义,一般建议重写该方法。
Student s1 = new Student("zhangsan", 34);
Student s2 = new Student("zhangsan", 34);
boolean b = s1.equals(s2); // 比较两个对象是否相等
System.out.println(b); // false,因为地址值不同
  1. 常见对象(==号和equals方法的区别)(掌握)
  • ==是一个比较运算符号,既可以比较基本数据类型,也可以比较引用数据类型,基本数据类型比较的是值,引用数据类型比较的是地址值
  • equals方法是一个方法,只能比较引用数据类型,所有的对象都会继承Object类中的方法,如果没有重写Object类中的equals方法,equals方法和==号比较引用数据类型无区别,重写后的equals方法比较的是对象中的属性
@override
public boolean equals(Object obj) { // s1.equals(s2);
    Student s= (Student)obj;
    return this.name.equals(s.name) && this.age = s.age;
}

注:本文整理自传智播客视频及其提供文档,手码,若有错误,希望大家指出(轻喷),共同学习。目的是便于个人复习,后来考虑到如果有其他同学也想复习,也想跟大家分享。不过毕竟本文整理自其他资料,若有侵权,请私信联系我,删。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值