/*
equals()方法默认的比较两个对象的引用!
*/
class Child {
int num;
public Child(int x){
num = x;
}
//人文的抛出运行时异常的好处是:可以自定义错误信息!
/*public boolean equals(Object o) throws ClassCastException{
if(!(o instanceof Child)) throw new ClassCastException("中文提示:类型错误");
Child ch = (Child) o;
return num == ch.num ;
}*/
/*
Exception in thread "main" java.lang.ClassCastException: 中文提示:类型错误
at Child.equals(PC.java:8)
at PC.main(PC.java:17)
*/
public boolean equals(Object o){
Child ch = (Child) o;
return num == ch.num ;
}
/*
Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot
be cast to Child
at Child.equals(PC.java:14)
at PC.main(PC.java:22)
*/
}
public class PC{
public static void main(String[] args){
Child p1 = new Child(11);
if(p1.equals(new Integer(11)))
System.out.println("true");
System.out.println("这句话是否执行?");// 如果异常得到了处理, 那么这句话就会执行,否则就不会被执行!
}
}