------------------------------------------------Animal.java-------------------------------------------package com.imooc;public class Animal extends Object { public int age=20; public String name; public void eat(){ System.out.println("年齡"+age+"動物具有吃東西的能力"); } public Animal(){ System.out.println("Animal類執(zhí)行了"); }}----------------------------------------------Dog.java------------------------------------package com.imooc;public class Dog extends Animal { public int age=20; @Override public boolean equals(Object obj) { if (this == obj)//兩個引用的地址是否相同 return true; if (!super.equals(obj))//兩個對象是否是空值 return false; if (getClass() != obj.getClass())//類對象,兩個對象的類型 return false; Dog other = (Dog) obj; if (age != other.age) return false; return true; }}------------------------------------------------Initail.java---------------------------------------------------package com.imooc;public class Initail { public static void main(String[] args) { // TODO Auto-generated method stub Dog dog = new Dog(); Dog dog1 = new Dog(); if(dog.equals(dog1)){ System.out.println("兩個對象是相同的"); }else{ System.out.println("兩個對象是不同的"); } }}----------------------------------------------輸出結果---------------------------------------------Animal類執(zhí)行了Animal類執(zhí)行了兩個對象是不同的PS:老師顯示是相同的,我是不同的
2 回答
已采納

guozhchun
TA貢獻103條經(jīng)驗 獲得超76個贊
if?(!super.equals(obj))//兩個對象是否是空值 ????return?false; //?super.equals(obj)?等同于? //?if?(this?==?obj)? //????return?true;? //?else? //????return?false; //?dog和dog1?兩個對象的地址不同,也就是this?==?obj返回false,前面加?'!'?就會使if判斷為true然后返回false //?結果就顯示是不同對象了
添加回答
舉報
0/150
提交
取消