class Demo
{
private int num;
Demo(int num)
{
this.num=num;
}
public boolean equals(Object obj) //Object obj=new Demo();
{
if(!(obj instanceof Demo)) // 条件操作数类型 Object 和 Demo 不兼容
return false;
Demo d=(Demo)obj; //不能从Object强制类型转换为Demo
return this.num==d.num;
}
}
public class Object {
public static void main(String[] args) {
Demo s1=new Demo(4);
Demo s2=new Demo(4);
System.out.println(s1.equals(s2));
}
}
------解决思路----------------------
自己的类不要定义为Object,这样会和java.lang.Object冲突的
------解决思路----------------------
你好,因为你的类名的命名规范问题,将Object改为其他名字。Object类为java自带的类,如改为如下:
public class Hello {
public static void main(String[] args) {
Demo s1=new Demo(4);
Demo s2=new Demo(4);
System.out.println(s1.equals(s2));
}
}
class Demo
{
private int num;
Demo(int num)
{
this.num=num;
}
public boolean equals(Object obj)
{
if(!(obj instanceof Demo))
return false;
Demo d=(Demo)obj;
return this.num==d.num;
}
}