instanceof的用法
静态绑定,即早期绑定,首先找父类
动态绑定,即运行时绑定,new谁找谁
Object o1 = null; //正确的语法,null也是一种特殊的引用数据类型
object提供了9个方法,所有子类都可以使用
不允许子类重写的有:getClass(), notify(), notifyAll(), wait();
允许子类重写的有:toString(), equals(), hashCode(), clone(), finalize();
什么是本地方法native???
引用类型默认调用toString() 方法
自动调用toString()方法的场景:字符串拼接,控制台输出
默认实现输出格式:全限定类名@哈希码的十六进制
何时重写equals()方法:当类有逻辑意义上的等同而不仅是对象意义上的等同
equals重写约定:自反性,对称性,传递性,一致性,重写equals方法时永远要重载hashCode()方法
为何需要哈希码?
hashCode重写规则:两个对象使用equals比较相等的话,则其hashCode返回值也相等,反过来不一定
同一个对象hashCode方法在一个程序中调用多次,应该返回相同的值
实现hashCode的方法步骤: