Java里的this问题

classStudent3{//学生的成员属性Stringname;intage;intclassNum;//学生类的无参构造器publicStudent3(){}//学... class Student3
{
//学生的成员属性
String name;
int age;
int classNum;
//学生类的无参构造器
public Student3()
{}
//学生类的有参构造器
public Student3(String name,int age,int classNum)
{
this.name=name;
this.age=age;
this.classNum=classNum;
}
//重写equals方法
public boolean equals(Object o)//Object是用来传对象的
{
//测试是否指向同一个对象
if(this==o) {return true;}
//测试引用o是否为null
if(o==null) {return false;}
//测试o指向的对是否可以看作Student类型
if(!(o instanceof Student3)) {return false;}
//将引用进行强制类型转换
Student3 s=(Student3)o;
//测试相关属性的内容
if(this.name.equals(s.name)//测试name属性
&&this.age==s.age//测试age属性
&&this.classNum==s.classNum)//测试classNum属性
{
return true;
}
else
{
return false;
}
}
里的this是指哪些?
展开
 我来答
beckham1917772
2010-11-01 · TA获得超过2143个赞
知道小有建树答主
回答量:504
采纳率:0%
帮助的人:530万
展开全部
this只Student3这个对象。

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

这里面因为有两个name,为了区分,this.name就是Student3的一个属性,而这个构造方法里的name是传过来的name。

可以这样去理解:
public Student3(String name1,int age1,int classNum1){
//这样就不存在一个name对应参数列表的值和类的属性值,就不用 this指定了。在这里推荐写成原文的形式,用this代表Student3这个类,当然也可以写成Student3.name = name1
name=name1;
age=age1;
classNum=classNum1;
}
当调用new Student3("zhangsan", 10, 1);时,会把Student的name属性,age属性,classNum属性赋成相应值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
披着狼皮的羊汤
2010-11-01 · TA获得超过246个赞
知道小有建树答主
回答量:155
采纳率:0%
帮助的人:105万
展开全部
指的是自身对象,也就是指Student3这个类
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式