equals说明:
equals底层代码。
native,本地方法,会调用底层C代码,static静态代码块的应用,一加载就进行本地注册!
调用windows底层代码(本地方法)
方法父类中有了,而又想定义自己的特有内容,就覆盖吧!
这是覆盖吗?参数跟Object的不一样了,这个是重载了!
报错了!向上转型的时候就隐藏了子类特有内容
向下转型嘛
加强健壮性!
这里为什么抛的是RuntimeException?因为这里传进来的如果不是person,我就没必要处理,我直接给你停止!
equals:一般都会覆盖此方法,根据对象的特有内容,建立判断对象是否相同的依据。
hashCode():
由哈希算法算出来的!
打印出来的是十进制数
转成十六进制!
要确定一个对象相等,不仅要确定它的内容,也要确认它的哈希值。
getClass()
返回此 Object
的运行时类。(什么东西呀!还运行时类!)
对象都是由class字节码文件产生的,
getClass()
就是获取产生对象Class字节码文件的地址。
System.out.println(p1.toString()); 等于 System.out.println(p1); 默认调用toString()
以上的三个方法,都是对象用来建立自己特有的形象