class Student
{
String name;
int age;
boolean equals(Object obj)
{
Student st=null;
if(obj instanceof Student)
st=(Student)obj;
else
return false;
if(st.name==this.name && st.age==this.age)
return true;
else
return false;
}public static void main(String[] args)
{
Student p=new Student();
Student q=new Student();
p.name="xyz";
p.age=13;
q.name="xyz";
q.age=13;
if(p.equals(q))
System.out.println("p与q相等");
else
System.out.println("p与q不等");
}
}为何不能覆盖呢? 哪个地方错了?
{
String name;
int age;
boolean equals(Object obj)
{
Student st=null;
if(obj instanceof Student)
st=(Student)obj;
else
return false;
if(st.name==this.name && st.age==this.age)
return true;
else
return false;
}public static void main(String[] args)
{
Student p=new Student();
Student q=new Student();
p.name="xyz";
p.age=13;
q.name="xyz";
q.age=13;
if(p.equals(q))
System.out.println("p与q相等");
else
System.out.println("p与q不等");
}
}为何不能覆盖呢? 哪个地方错了?
boolean equals(Object obj)
{
} 在前边加上public
第二
改完了,结果相等