==跟equals()区别
==:是一个比较运算符号,既可以比较基本数据类型,也可以比较引用数据类型,基本数据类型比较的是值,
引用数据类型比较的是地址值
equals方法:是一个方法,只能比较引用数据类型,所有的对象都会继承Object类中的方法,
如果没有重写Object类中的equals方法,equals方法和==号比较引用数据类型无区别,
重写后的equals方法比较的是对象中的属性
toString方法
主要是为了方便输出。
没有重写之前是属于Object类。
左边:全路径名,包括包名 getClass.getName
中间:@
右边:十六进制的哈希码值
alt + shift + s s
getClass方法
获取类的字节码文件
getName()获取类名
全路径名,包括包名
hashcode方法
hashcode是内存中的地址值,int类型
重写hashcode之后,两个相同的对象。地址值肯定相同。
两个不同的对象,地址值有可能相同。
student s = new student();
s.hashcode();
1
teacher t = new teacher();
t.hashcode();
1
因为hashcode的返回值是int类型的。有范围。
|
|