| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 813 人关注过本帖
标题:this问题
只看楼主 加入收藏
心动音符
Rank: 1
等 级:禁止访问
威 望:1
帖 子:832
专家分:0
注 册:2005-9-15
收藏
 问题点数:0 回复次数:15 
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.b=b;
tir.c=c;
}

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

}
}
编译出错
改成如下就可以我知道是this的缘故 但我总是弄不清楚this是怎么一回事 望高人指点
public class tirgon {
double a,b,c;
tirgon(double a,double b,double c)
{
setABC(this,a,b,c);
}
void setABC(tirgon tir,double a,double b,double c)
{
tir.a=a;
tir.b=b;
tir.c=c;
}

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

}
}

搜索更多相关主题的帖子: 三角形 public double 
2006-10-16 20:11
无理取闹
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:53
帖 子:4264
专家分:0
注 册:2006-7-26
收藏
得分:0 
第一个程序编译出错是public写错位置了 应该在testtirgon前面
而且如果改好了 也无法得到正确的答案 因为
tirgon tir=new tirgon();
又有一个别的对象了 把那几个值付给了那个tir了
所以自己的a,b,c仍然是0
不能得到正确答案

win32汇编
病毒 加密
目前兴趣所在
2006-10-16 20:19
神经塔
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:1987
专家分:4
注 册:2006-7-1
收藏
得分: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;

}

}
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-16 20:57:38编辑过]


[shadow=255,red,2]待到秋来九月八,我花开时百花杀。冲天香阵透长安,满城尽是黄金甲。 [/shadow]
2006-10-16 20:48
心动音符
Rank: 1
等 级:禁止访问
威 望:1
帖 子:832
专家分:0
注 册:2005-9-15
收藏
得分:0 

public class tirgon {
double a,b,c;
tirgon(double a,double b,double c)
{
setABC(a,b,c);
}
void setABC(double a,double b,double c)
{

this.a=a;
this.b=b;
this.c=c;/this 为什么能指向a,b,c呢?
}

}
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-16 21:02
神经塔
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:1987
专家分:4
注 册:2006-7-1
收藏
得分:0 

public class tirgon {
double a,b,c;
tirgon(double a,double b,double c)
{
setABC(a,b,c);
}
void setABC(double a,double b,double c)
{

this.a=a;
this.b=b;
this.c=c;/this 为什么能指向a,b,c呢?//建议你去看看this的用法,this是表示当请对象的引用
}

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

}
}


[shadow=255,red,2]待到秋来九月八,我花开时百花杀。冲天香阵透长安,满城尽是黄金甲。 [/shadow]
2006-10-16 21:14
无理取闹
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:53
帖 子:4264
专家分:0
注 册:2006-7-26
收藏
得分: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();这句是多余的
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+",");

}
}
还有public 应该在testtirgon类前面


win32汇编
病毒 加密
目前兴趣所在
2006-10-16 21:15
神经塔
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:1987
专家分:4
注 册:2006-7-1
收藏
得分:0 

哈哈,还是上楼的仔细啊!我记得我在我的记事本里面已经把上面的问题改过来了!


[shadow=255,red,2]待到秋来九月八,我花开时百花杀。冲天香阵透长安,满城尽是黄金甲。 [/shadow]
2006-10-16 21:19
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

其实this就是对使用者的对象的引用,因为它不知道它的对象名字叫什么,所以统一用this来代替,表示自己


可惜不是你,陪我到最后
2006-10-17 09:34
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

其实this就是对使用者的对象的引用,因为它不知道它的对象名字叫什么,所以统一用this来代替,表示自己


可惜不是你,陪我到最后
2006-10-17 09:34
苦中乐
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2006-9-4
收藏
得分:0 
面向对象编程中
this 这个关键字
它主要引用本身的对象的属性和方法之类的东东
super 这个关键字
它主要引用父类的对象的属性和方法之类的东东


2006-10-17 10:53
快速回复:this问题
数据加载中...
 
   



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

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