关于Java object的用法

class Student
{
String name;
int age;
public 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不相等");
}
}
中st.name表示的什么啊

main()中调用了p.equals(q),将q对象的引用传递到st(因为q为一个Student对象,return true),所以引用st也指向q对象,st.name就是q.name,也就是"xyz"

http://www.cnblogs.com/yxnchinahlj/archive/2010/09/27/1836556.html

建议你看看书,多理解

st是指由Student声明的对象
st.name指的是st这个对象里面的name这个属性值
当然你可以这样理解,其实就Student这个类里面的name这个变量

这个问题还是多看看书吧