在学习equals方法方法时我写了一段代码(如下)class Student
{
private String name;
private int age;
public Student(String name,int age)
{
  this.name=name;
  this.age=age;
}
public boolean equlas(Object obj)
{
  Student st=null;
  if(obj instanceof Student)
  {
   st=(Student)obj;
   if(st.name==name && st.age==age)
   {
    return true;
   }
   else
   return false;
  }
  else
  {
   return false;
  }
}
}class Xxs extends Student
{
public Xxs(String name,int age)
{
  super(name,age);
}
}class Test
{
public static void main(String[] args)
{
  Student st1=new Student("linan",20);
  Student st2=new Student("caiheng",20);
  Student st3=new Student("linan",20);
  Xxs st4=new Xxs("linan",20);
  if(st1.equals(st2))
  {
   System.out.println("st1 equlas st2");
  }
  else
  {
   System.out.println("st1 not equlas st2");
  }
  if(st1.equals(st3))
  {
   System.out.println("st1 equlas st3");
  }
  else
  {
   System.out.println("st1 not equlas st3");
  }
  if(st1.equals(st4))
  {
   System.out.println("st1 equlas st4");
  }
  else
  {
   System.out.println("st1 not equlas st4");
  }
}
}可是编译通过后执行却都是st1 not equlas st2st1 not equlas st3st1 not equlas st4按我当时的目的是st1 equlas st3的,equlas方法我也是重写的,请高手指点一下为什么会是st1 not equlas st3,如何使得st1 equlas st3?我的JDK是1.5谢谢