7:50-8:00学习打卡
9:00-12:00看书
2:30-6:00看书
instanceof运算符
instanceof运算符前一个操作数通常是一个引用类型变量,后一个操作数通常是一个类(也可以是接口,可以把接口理解成一种特殊的类),用于判断前面的对象是否是后面的类,或者其子类,实现类的实例,如果是,则返回true,否则返回false
需要注意用instanceof运算符时,前面操作数的编译时类型要么与后面的类相同,要么与后面的类具有父子关系,否则会引起编译错误
通常与强制类型转换一起用
打印对象和toString方法
当程序员直接打印该对象时,系统将会输出该对象的“自我描述”信息,用以告诉外界该对象具有的状态信息
Object类提供的toString()方法总是返回该对象实现类的“类名+@+hashCode”值
用toString方法时一般需要重写,以次来返回需要的信息
==和equals方法
判断两个变量是否相等
当使用==来判断两个变量是否相等时,如果两个变量是基本类型变量,且都是数值类型(不一定要求数类型严格相同),则只要两个变量的值相等,就返回true
equals不能用来判断基本类型变量
对于两个引用类型变量,只有当它们指向同一个对象时,两个等于号才返回true。两个等于号不可用于比较类型上没有父子关系的两个对象
Object类提供的equals方法与两个等于号用法完全一致,没有什么太大的实际意义,String重写后的equals方法可以判断两个字符串是否相等
equals方法可以自己重写
正确重写equals方法应满足条件
- 自反性
- 对称性
- 传递性
- 一致性
- 对任何不是null的x,x.equals(null)一定返回false
idea快捷键
- 类的结构示图:alt+7
- 源码:ctrl+左键
- 查看类的关系:鼠标放到类名上右键—>Diagram—>show Diagram