| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 813 人关注过本帖
标题:this问题
只看楼主 加入收藏
开心一科
Rank: 1
等 级:新手上路
帖 子:56
专家分:0
注 册:2006-10-5
收藏
得分:0 

class tirgon {
double a,b,c;
tirgon(){}
tirgon(double a,double b,double c)
{
setABC(a,b,c);
}
void setABC(double a,double b,double c)
{
tirgon tir=new tirgon();//生成了第二个对象
tir.a=a;
tir.b=b;
tir.c=c;
System.out.println("三角形一是:"+tir.a+","+tir.b+","+tir.c+",");
}

}
public class testtirgon
{
public static void main(String args [])
{
tirgon tir=new tirgon(3,4,5);//第一个tir对象
System.out.println("三角形二是:"+tir.a+","+tir.b+","+tir.c+",");

}
}
这样看结果比较明显!


2006-10-17 21:39
顶你个肺哦
Rank: 1
等 级:新手上路
威 望:1
帖 子:123
专家分:0
注 册:2006-9-10
收藏
得分:0 
this可以出现在类的实例方法中,代表使用该方法的当前对象
也可以出现在构造方法中,代表使用该构造方法创建的对象

main()                     {......}
2006-10-17 22:51
tblovecj
Rank: 1
等 级:新手上路
帖 子:181
专家分:0
注 册:2006-9-20
收藏
得分:0 
我在你的程序里没看到一个this,
this的意思就是代表当前类,传的是对像,如果你不加this也行,但你的参数名不要取成一样,如果取一个就要加个this让系统区别开来,你可以注意一下你的编程工具,当如果不加this,点到一个对像名时,另一个也会变成同样的颜色,这就表示成一个对像,而目的却应该是这样,有一个对像是类本身的,所以以 this加以区分

2006-10-18 18:38
exit
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2006-10-18
收藏
得分:0 

我有另一个结论.并不是this问题.各位请看看
public class tirgon {
double a,b,c;
tirgon(){}
tirgon(double a,double b,double c)
{
setABC(a,b,c);
}
void setABC(double a,double b,double c)
{
// tirgon tir=new tirgon(); 这一句是多余的
tir.a=a; //而这里的tir也是多余的
tir.b=b; //那么程序就是a=a;b=b;c=c;
tir.c=c; //试着把void setABC(double a,double b,double c)
//改成//试着把void setABC(double a1,double b1,double c1)
然后用a=a1; b=b1; c=c1;就什么都明白了

}

}
class testtirgon
{
public static void main(String args [])
{
tirgon tir=new tirgon(3,4,5);
System.out.println("三角形的边是:"+tir.a+","+tir.b+","+tir.c+",");

}
}

2006-10-18 19:12
exit
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2006-10-18
收藏
得分:0 

它实际是 变量名之间的冲突;神经塔前辈,你说我说的可正确?

2006-10-18 19:16
zhaodaihua
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-10-19
收藏
得分:0 

public class tirgon {
double a,b,c;
tirgon(){}
tirgon(double a,double b,double c)
{
setABC(a,b,c);
}
void setABC(double a,double b,double c)
{
/*tirgon tir=new tirgon();*/ /* 在这儿创建个实例做什么?*/
this.a=a;
this.b=b;
this.c=c;
}

}
public class testtirgon
{
public static void main(String args [])
{
tirgon tir=new tirgon(3,4,5);
System.out.println("三角形的边是:"+tir.a+","+tir.b+","+tir.c+",");

}
}

2006-10-19 16:06
快速回复:this问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026172 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved