| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 799 人关注过本帖
标题:[求助]return this;不理解呢!
只看楼主 加入收藏
baby69yy2000
Rank: 1
等 级:新手上路
帖 子:67
专家分:0
注 册:2007-4-5
收藏
 问题点数:0 回复次数:5 
[求助]return this;不理解呢!

class banana{
int x =0;
void setValue_1(int a){
x = a;
}
banana setValue_2(){
x++;
return this;
}
void outputs(){
System.out.println(x);
}
}
public class MyThis_01 {
public static void main(String[] args) {
banana p1 = new banana();
p1.setValue_1(30);
p1.setValue_2();
p1.outputs();
}
}

// 结果是: 31
banana setValue_2(){
}
为什么把"banana" 改成"int"型,会出错呢?
return this;是什么意思呀?
查了下手册,"当需要return对当前对象的引用时,就常常在return后面加上this","当前对象的引用"指的是那里呀?
初学java,感觉好难呀
请前辈指点一下.

[此贴子已经被作者于2007-10-11 23:39:03编辑过]

搜索更多相关主题的帖子: return 
2007-10-11 23:25
hwoarangzk
Rank: 4
来 自:冰封王座
等 级:贵宾
威 望:12
帖 子:1894
专家分:0
注 册:2007-7-17
收藏
得分:0 
就是指调用setValue_2()方法的当前的对象,你这个方法要求返回banana类的对象

I'm here, as always...
2007-10-12 09:38
时空之蕊
Rank: 2
等 级:新手上路
威 望:3
帖 子:691
专家分:0
注 册:2004-10-31
收藏
得分:0 

楼主对oop不慎了解阿


我渴望掌控时空的核心——用最先进的技术,打造无比美丽的世界!
2007-10-12 09:55
狂放不羁
Rank: 4
等 级:贵宾
威 望:12
帖 子:925
专家分:0
注 册:2007-1-24
收藏
得分:0 
return this.就是返回调用这个方法的那个实例.这时候就是返回调用这个方法的banna对象.如果你改成了int就不行.
2007-10-12 11:38
baby69yy2000
Rank: 1
等 级:新手上路
帖 子:67
专家分:0
注 册:2007-4-5
收藏
得分:0 
回复:(hwoarangzk)就是指调用setValue_2()方法的当...
return this之后是不是相当于把方法setValue_02和类banana关联起来了呢.?
class banana{
int x =0;
void setValue(int a){
x = a;
x++;
}
这样理解对吗?

[此贴子已经被作者于2007-10-12 21:34:22编辑过]


2007-10-12 21:33
one737
Rank: 2
等 级:论坛游民
威 望:1
帖 子:19
专家分:18
注 册:2021-7-2
收藏
得分:0 
return this;
需要考虑到整个类实例。
比如说,当在main函数中调用setValue_2时,使用的是b.setValue_2(),那么return的就是b,而不是修改过后的b。
2021-07-02 11:23
快速回复:[求助]return this;不理解呢!
数据加载中...
 
   



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

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