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是指哪些? 展开
{
//学生的成员属性
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是指哪些? 展开
2个回答
展开全部
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属性赋成相应值。
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属性赋成相应值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询