我欲修仙法力无边 2017-03-11 14:01 采纳率: 36.4%
浏览 863
已采纳

java中关于equals的一些问题

public class EEE {
int count = 0;
}
public class BCD extends EEE{
int a = 0;
public boolean equals(Object c){
if(c==null)return false;
if(c!= null&&c.getClass()==BCD.class){
BCD t = (BCD)c; ???
if(t.count == this.count){
return true;
}
}
return false;
}
public static void main(String[]args){
EEE a1 = new BCD();
BCD b = new BCD();
if(b.equals(a1))System.out.println("true...");
else System.out.println("false...");
}
}
代码中有???的那行我觉得并没有什么用啊?

  • 写回答

1条回答 默认 最新

  • threenewbee 2017-03-11 14:04
    关注

    不这么写不能编译,因为c是Object类型,不能直接转换为BCD类型。(好比提到动物,不能天然地认为它是人;但是提到人,不用说,它天然就是动物)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 孟德尔随机化结果不一致
  • ¥20 求用stm32f103c6t6在lcd1206上显示Door is open和password:
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法