date0407/ObjectEquals.java

来源:互联网 发布:如何制作云免流软件 编辑:程序博客网 时间:2024/06/06 01:48
/*Object类是java中所有类的父类,传说中的上帝Object类中有 equals(Object obj) 方法,所以所有类都可以拿来用多态中,子类想要访问子类特有数据时,就得向下转型。*/class Demo{private int num;Demo(int num){this.num=num;}public boolean equals(Object obj) // Object obj = new Demo();  多态{if(!(obj instanceof Demo))//如果是两种不同类型比较,就直接返回假return false;Demo d = (Demo)obj;//向下强转,因为要比较的是Object类中没有的东西,也就是要访问子类中特有的数据,所以要向下转型return this.num==d.num;}}class Person{}class ObjectEquals {public static void main(String[] args) {Demo d1 = new Demo(4);Demo d2 = new Demo(4);System.out.println(d1.equals(d2));Person p = new Person();System.out.println(d1.equals(p));//两种不同类型比较}}/*E:\javademo\date0407>java ObjectEqualstruefalse*/

0 0
原创粉丝点击