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 类名
表示:判断该对象名是否是该类名的一个对象