区别JAVA 和 C++ 的语法???奇怪!!!解决问题马上给分
我知道我的帖子发错地方了,但我在另外的地方发了好久没有人
回复,所以只有放在这里,请管理员先不要删除我的帖子。
我的问题是这样的,在C++ 中函数如果返回 this,就可以对函数
实现连续调用,但在JAVA 中怎么实现呢?
下 是我的代码: 请高手指教!!!
abstract class Abstr
{
public Abstr display()
{
System.out.println("ASDFAD");
return this;
}
public abstract String getStr();
}
public class Note extends Abstr
{
public String getStr()
{
return "override super getStr()";
}
public Abstr getInt()
{
System.out.println("return Integer demo");
return this;
}
public static void main(String[] ar)
{
Note note=new Note();
note.getInt().getStr();
}
}
问题点数:20、回复次数:10Top
1 楼ExplorerCSharp( 小文)回复于 2003-11-01 16:08:20 得分 0
不太清楚,帮你顶!Top
2 楼yaray(雅睿,生活在别处)回复于 2003-11-01 16:21:10 得分 0
你已经有note这个实例了,想调用getStr()这个方法,你直接note.getStr()不就行了Top
3 楼hykwolf(Yankang Hu)回复于 2003-11-01 16:40:37 得分 0
你返回的对象实例本身就已经是你已经创建好了的对象...
你的意思是note.getInt()返回的是note这个实例,然后你在调用getStr()这个方法?
这样不是多绕了一圈嘛?
note.getInt().getStr()
可以改成
note.getInt();
note.getStr();
因为note直接可以使用这些方法。Top
4 楼ydr2002(★★★★★)回复于 2003-11-01 16:42:43 得分 0
nodTop
5 楼xqi8(星期八)回复于 2003-11-01 17:07:45 得分 0
nod
Top
6 楼King6860()回复于 2003-11-01 17:32:26 得分 0
我是想让 语法更简单一些,更象C++ 一点。。Top
7 楼hykwolf(Yankang Hu)回复于 2003-11-01 17:54:13 得分 0
java和他们不一样的,java里面都是对象;
比如说有getStr()这样一个方法(这里没有什么函数的东西);
那么getStr()一定属于某个对象。
ex:
public class Text {
public Text(){
}
public String getStr(){
String tmp="text";
return tmp;
}
}
如果你想用getStr();,那么你一定要有一个Text的实例才行
不能直接就getStr(),然后返回一个实例或其他的东东。
ex:
Text tt=new Text();
String tmp=tt.getStr();
----------------------
如果发生你的那种note.getInt().getStr();
那么应该是note.getInt()返回一个Integer对象的实例some,
然后调用some.getStr();
es:
Integer some=new Integer();
Note note=new Note();
some=note.getInt();
some.getStr();
这样的话应该可以简化成你的note.getInt().getStr();
这样你的getInt()方法应该要包含有Integer对象的实例创建的过程。
thinking in java 中有这样一句话“一切皆为对象”,呵呵,这就是他和c++的不同了:)Top
8 楼kui(kui)回复于 2003-11-01 18:08:26 得分 0
我是JSPStudio的开发者,我用VC++.NET开发JAVA\JSP开发平台。所以,我常把JAVA当做VC++用,不管别人如何讲,我就是这样做的。所以,我常不区分什么语言,我只是把它们当作一个工具,就如大号的螺丝刀和小号的螺丝刀,一样用。Top
9 楼hykwolf(Yankang Hu)回复于 2003-11-01 18:16:33 得分 0
哈:)
我要说的就是大号的螺丝刀拧不了小螺丝,
而小号的螺丝刀拧不了大螺丝;
而你想买什么样的螺丝刀我都卖给你.hohoTop
10 楼accp(教育改变生活)回复于 2003-11-03 13:05:03 得分 20
所main()改成这样
public static void main(String[] ar)
{
Untitled1 note=new Untitled1();
System.out.print(note.getInt().getStr());
}
Top




