DAY11 复习
0.面向对象练习:设计动物类与昆虫类
答案:练习帖2 点我点我
1. 顶级父类 java.lang.Object
1.1 hashCode()
作用:返回对象对应的哈希码值
1.2 toString()
重写前:打印对象的地址值
重写后:打印类型 + 属性 +属性值
1.3 equals()
重写前:==比较,比较的是两个对象的地址值
重写后:比较两个对象的类型+属性+属性值
注意1:toString()不是我们主动调用的,是println()层层调用
如果你打印某个类的对象时,不想打印地址值,可以在这个类里添加重写的toString()
注意2:equals()与hashCode()的重写要一致,要重写都重写,要不重写都不重写
查找类的4种方式:
- 查API手册 点这里:API手册使用指导
- 连点两下Shift打开IDEA的搜索,注意勾选"include non-Project items",再搜Object
- 按住Ctrl点hashCode()
- 在拓展库External Libraries找到jdk1.8->rt.jar->java.lang.Object
public class TestObject {
2 String 类
2.1 String的创建方式
方式一:
char[] values = {‘a’,‘b’,‘c’};
String s1 = new String(value);
注意:每new一次,创建一个String对象,存在堆中
方式二:
String s = “abc”;
注意:存在堆中的常量池中,有高效的效果,如果是第二次创建,不会新建
注意:== 比较的如果是引用类型,那么是地址值
注意:String重写了Object中的toString(),所以可以直接打印字符串的具体内容
String重写了Object中的equals(),所以比较的也是两个字符串的具体内容