求大神帮帮忙。this 的问题.....................
class Student{
Tercher T;
public Student(Tercher T)
{
this.T=T;
}
}
class Tercher
{
Student stu;
public void GetStudentToTercher()
{
stu=new Student(this);
}
} --------------------编程问答-------------------- 你想问什么呀? --------------------编程问答-------------------- this 的作用:
1> 避免命名冲突。
像你写的 Student 类,里面声明了一个成员变量 Tercher T,它的构造方法 public Student(Tercher T) 中也有一个 Tercher T,this.T = T,这里的 this.T 代表的是当前对象的 T 成员变量,等号后面的 T 代表的是传过来的对象参数,这样就避免了命名冲突一起的问题。如果写成了 T = T,这里的两个 T 指的都是参数中的 T,因为参数名和成员变量名相同,那么在这个方法里面,成员变量是会被屏蔽的。
2> 表示当前对象,即正在运行中的对象。
就像你写的 Tercher 类,public void GetStudentToTercher() { stu=new Student(this); },在调 GetStudentToTercher 之前,你肯定需要先 new 一个 Tercher 类的对象,然后再调 GetStudentToTercher 这个方法,stu=new Student(this); 这里的 this,就是你所 new 出来的 Tercher 类的对象。 --------------------编程问答-------------------- 问题是啥呢??? --------------------编程问答-------------------- 你要干什么 你要 --------------------编程问答-------------------- 你的问题呢? --------------------编程问答--------------------
问题自己找。找到问题再给个答案就行。
看楼下的了。 --------------------编程问答-------------------- 楼主程序没有报错,我也很好奇楼主想问什么?this的语法? --------------------编程问答-------------------- this 就是·自己·· --------------------编程问答-------------------- this表示当前调用的对象 --------------------编程问答-------------------- Java关键字this只能用于方法方法体内。当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是 this --------------------编程问答-------------------- this就是当前对象,谁在调用这个方法,this就是谁,比如说,你申明了一个Student对象stu,那么当你调用stu.xxx的时候,xxx方法里面的this就是这个stu, --------------------编程问答--------------------
同意
补充:Java , Java SE