day11学习过程笔记

1.Eclipse和MyEclipse安装、使用、快捷键:刘意ppt第六章

  • 薄弱点:jar包,参考刘意视频day11.15、day11.16
  • 修改项目名称时,不要忘记改工作路径.project配置文件里的项目名

2.Object类

  • 概述:Object是类层次结构的根类,所有的类都 直接或者间接(最上面的父类继承了,子类继承父类就是间接继承Object) 的继承自Object类
  • Object类的构造方法有一个,并且是无参构造

3.Object类的常用方法

  • hashCode() //了解

  • public int hashCode():返回对象的哈希值,哈希值是该对象的内部地址转换成的一个整数。不是实际地址值,但可以理解为地址值

  • Student s1 = new Student();
    System.out.println(s1.hashCode());

  • getClass() //了解,反射中会详解

  • public final Class getClass():返回此 Object 的运行时类
    //所有的字节码文件是有一个类的描述的,而这里返回的这个Class类就是这个字节码文件对象所属的类;
    看到返回类型是类,说明真正返回的是这个类的一个对象

  • Class类的方法:
    public String getName():以 String 的形式返回此 Class 对象所表示的实体

  • Student s = new Student();
    Class c = s.getClass();
    String str = c.getName();
    System.out.println(str); //输出的是cn.itcast_01.Student
    //链式编程
    String str2 = s.getClass().getName();
    System.out.println(str2);

  • finalize() //了解

  • protected void finalize():当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。用于垃圾回收,但是什么时候回收不确定

  • clone() //了解

  • protected Object clone():创建并返回此对象的一个副本

  • 重写该方法(这里是浅克隆,参考day1_Object cn.itcast_04
    Cloneable:此类实现了 Cloneable 接口,以指示 Object.clone() 方法可以合法地对该类实例进行按字段复制
    这个接口没有方法,是标记接口,告诉我们实现该接口的类就可以实现对象的复制了

    克隆一个对象,改变克隆的对象时,原对象的东西不变,所以还是和直接赋对象的地址值给一个新对象不一样的

  • toString() //掌握!

  • 作用:返回对象的字符串表示,默认是由类的全路径+’@’+哈希值的十六进制表示。这个表示其实是没有意义的,一般子类都会重写该方法

  • 怎么重写呢?
    把该类的所有成员变量值组成返回即可
    重写的最终版方案就是自动生成toString()方法:右键–Sourse–Generate toString()

  • 注:直接输出一个对象的名称,其实就是调用该对象的toString()方法

  • equals() //掌握!

  • public boolean equals(Object obj):指示其他某个对象是否与此对象“相等”

面试题:==和equals()的区别
==:
基本类型:比较的是值是否相同
引用类型:比较的是地址值是否相同
equals:
只能比较引用类型:默认情况下,比较的是地址值
但是,比较地址值一般意义不大,我们可以根据自己的需要重写该方法

  • 怎么重写呢?
    一般重写都是自动生成:alt+shift+s–Generate hashCode() and equals(),用来比较对象的成员变量值是否相同
  • String的equals()方法是重写自Object类的,比较的是字符串的内容是否相同

扩展:
对象名 instanceof 类名
表示:判断该对象名是否是该类名的一个对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值