public class Student
{
private String name;
private int age;

public Student(String name , int age)
{
this.name = name;
this.age = age;
}

public boolean equals(Object obj)
{
Student st = null;
if(obj instanceof Student)
{
st = (Student)obj;
if(st.name == this.name && st.age == this.age)//this.name this.age指的是哪个?
{
return true;
}
else return false;
}
else
return false;
}

public static void main(String[] args)
{
Student st1 = new Student("Wang",20);
Student st2 = new Student("Zhang",20);
if(st1.equals(st2))
System.out.println("st1==st2");
else
System.out.println("st1!=st2");
}
}

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【cismylife】截止到2008-08-02 16:53:04的历史汇总数据(不包括此帖):
    发帖的总数量:11                       发帖的总分数:290                      每贴平均分数:26                       
    回帖的总数量:14                       得分贴总数量:3                        回帖的得分率:21%                      
    结贴的总数量:11                       结贴的总分数:290                      
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:0.00  %               无满意结分率:0.00  %                  
    敬礼!

    取消马甲机器人,请点这里:http://www.java2000.net/mycsdn/robotStop.jsp?usern=cismylife
      

  2.   

    指的是private String name;
        private int age;定义的变量
      

  3.   

    在Java中使用this关键字来指明你要使用某个成员,使用方法是“this.成员名”,而不带this的那个便是形参。所以说this.name this.age指的是一开始的private String name; private int age;
      

  4.   

    this指的是当前的对象的,所以this.name就是当前对象的姓名了
    比如说
    Student stu1 = new Student("Justin", 24);
    Student stu2 = new Student("Justin", 20);boolean trueOrFalse = stu2.equals(stu1);
    这时候equals方法里的this就是指stu2。
      

  5.   

    只要你那里没有内部类,那么所有this.xxx都是指你类中声明的xxx
      

  6.   

    this.name this.age指的是实例对象中的name,age
      

  7.   

    说明白点,你所指的this.name , this.age就是你程序中public Student(String name , int age)
        {
            this.name = name;
            this.age = age;
        }
    中的this.name , this.age
      

  8.   

    带this的是实例对象中的,不带this的是形参