object obj = p2;(把p2传给object obj相当于前面类型提升,向上一转型就隐藏了子类的特有内容。)
你想要进行扩展性的应用就得用多态这种形式,多态一用就会隐藏子类特有内容,因为他向上转型。
扩展时向上转型,想用这个就得向下转型。
Person p = (person) obj;
return this.age== p.age;
进行健壮性判断,加抛异常:
equals
一般都会覆盖此方法,根据对象的特有内容,建立判断对象是否相同的依据(java有自己默认的方式就是比较地址值)
hashcode返回值方法:(直接打印对象)通过哈希算法算出来的。
toHexString转化为10进制。
相等的对象必须有相同的hash值(因为位置相同,内容也相同)
getClass方法:返回object运行时类方法;
运行时类:
这里面得到的都是CLASS类型对象。
就这一个。(calzz.getName()是getClass其中的一个方法,返回类的名字)
toString方法:返回该对象的字符串表示。
toString方法被覆写:
一般数据模型的类这种类会产生n多对象,(学生,工人啊)他的类里边都会将以上三种法法一般都被覆写。