/*
*学生类,包括学生的基本信息
*/
public class StudentTest
{   public static void main(String[] args)
  {
Student tom = new Student("Tom","20020410");
tom.setStudentSex("man");
tom.setStudentAddress("America");
System.out.println(tom.toString());
  }
}class Student
{
private String strName = "";//学生姓名
private String strNumber = "";//学号
private String strSex = "";//性别
private String strBirthday = "";//出生年月
private String strSpeciality = "";//专业
private String strAddress = "";//地址   public Student(String name, String number)
  {
strName = name;
strNumber = number;
  }   public String getStudentName()
  {
return strName;
  }   public String getStudentNumber()
  {
return strNumber;
  }   public void setStudentSex(String sex)
  {
strSex = sex;
  }   public String getStudentSex()
  {
return strSex;
  }   public String getStudentBirthday()
  {
return strBirthday;
  }   public void setStudentBirthday(String birthday)
  {
strBirthday = birthday;
  }   public String getStudentSpeciality()
  {
return strSpeciality;
  }   public void setStudentSpeciality(String speciality)
  {
strSpeciality = speciality;
  }   public String getStudentAddress()
  {
return strAddress;
  }   public void setStudentAddress(String address)
  {
this.strAddress = address;
  }
//可以改成tom.strAddress=address吗?简单介绍一哈原理   public String toString()
  {
String information = "学生姓名=" + strName + ", 学号=" + strNumber;
  
if( !strSex.equals("") )
information += ", 性别=" + strSex;
if( !strBirthday.equals(""))
information += ", 出生年月=" + strBirthday;
if( !strSpeciality.equals("") )
information += ", 专业=" + strSpeciality;
if( !strAddress.equals("") )
information += ", 籍贯=" + strAddress; return information;
  }
}

解决方案 »

  1.   

    当然不能啦, 这个时候,tom是什么都没有定义的,main方法里面的tom在类里面是访问不到的,它只在main方法里面有效,this就是指当前对象的引用.
      

  2.   

    肯定不行撒。编译都过不了的这个是在类里面,tom是一个实例啊。
    如果你再实例化了一个 lucy,怎么办?
      

  3.   

    通常set get方法中用this是为了同名的时候区分类变量和参数变量
    这里你直接写strAddress = address;不要this也可以
      

  4.   

    tom 是Student的实例,先有Student再有tom,是吧,
      

  5.   

    那能不能给介绍this都用什么用途,在什么时候用。刚开始学呢,什么都不会,在书上遇到问题就跑上来问了,呵呵,见笑了!!!!!!
      

  6.   

    当然不行了...恩,怎么说呢,你应该把main函数当作是Student以外的一个方法,所以tom是不能被Student中的方法调用的
      

  7.   

    this是指向当前调用该方法的对象的引用,在这里完全没有必要加上“this”。如果你的strAddress属性被命名成了address,这个时候必须用this,来区分你的address到底是指这个属性还是那个传入参数。另外this()方法放在一个构造函数的第一行,可以调用无参构造函数。
      

  8.   

    this 是自身对象的一个引用,它指向自己。一般在类里面调用自己的方法呀,或者属性啊,都可以用。
      

  9.   

    this 是自身对象的一个引用,它指向自己。一般在类里面调用自己的方法呀,或者属性啊,都可以用。
      

  10.   

    用this能够直接引用实例变量,我是这么理解的
    否则在一个方法中无法完成对实例变量的赋值,只能引用局部变量
      

  11.   

    this 是当前对象的引用。
    this.strAddress = address; 
    这里,没有必要用这个this。
    应该写成strAddress = address; 
    如果strAddress 这个属性名叫address,那就必须要用this,来区分address到底指的是这个属性,还是传进来的那个参数。
    this.address = address;this还有个作用。this(参数列表);
    用在构造方法的方法体的第一句(必须是第一句),来调用相应的构造方法。
      

  12.   

    要是能通过编译的话
    告诉我你用的JDK 是什么版本,
    我带着硬盘去你家 复制一份
    哈哈