java省去了C++里面最为繁琐的指针,这是它比C++好的一个地方。java中的每个变量和对象都可以看成是C++中的引用
如果你想靠参数来返回变化,那也好办。只要你在这个方法(也就是函数)所在的类里面定义你想返回的变量,再函数里改变它,再函数外一样引用它。
如果不想这样,那你就老老实实的返回这个参数。(有多个时只能用上面那个方法)
如果你想靠参数来返回变化,那也好办。只要你在这个方法(也就是函数)所在的类里面定义你想返回的变量,再函数里改变它,再函数外一样引用它。
如果不想这样,那你就老老实实的返回这个参数。(有多个时只能用上面那个方法)
你应该先找相关的资料看看,
是否复合你的愿望,
确定要学它,就找本书系统的看看,你会明白的多
不要左顾右盼,现在各方面的语言很多,但关键是抓住一门,学精它
JAVA中有引用!
还有我没学过C++,只学过C。不明白你们说的引用是什么意思,能给个Java的例子吗?谢谢!
说出这句话说明你根本就没有好好看<<Think In Java>>
这种想法不知道你是怎么产生的,
这样做无异于南辕北辙,舍近取远。如果你一定要这么做,无话可说。另外,JAVA里面有没有指针一说,
我想这个最基本的是要搞清楚到底你自己想的指针是什么意思,
没有绝对的界限,只要你理解了JAVA的引用,那么完全可以认为它就是指针,
但是注意,我说它是指针,但是不指的C里面的指针,好了,为了区别它们我还是叫引用吧,
在JAVA中没有象c指针这样的东西存在的,实际上,JAVA的引用我认为也应该区别于C的引用,
最后,不要把JAVA和C比,两者没有可比性,也没有必要,
既然你要学JAVA,那么就抛开c,从头开始好好学JAVA,不但是JAVA语法,更重要的是面向对象的思想,如果你非要和C比比,那是自找麻烦,注意,我说的是抛掉c的语法概念,c里面好的东西还是可以借鉴的。
这里和学英语是一个道理,完全融入一个英语的环境会让你学得更好更快,
最好思维上也转变,要不难免不说出中国英语。所以说,java有java得解决方法,不要一有问题就想到,哦,我原来用c得时候是这么解决得,用java应该是这样。最后:引用:那么我要是想靠参数返回变化怎么办?
这个问题太抽象,问问题最好说明清楚,要不大家不好回答,
什么叫用参数返回变化?
这有很多解释得,简单得,你想执行完一个方法后返回一个值来表明结果,那么你简单的
RETURN一个值就可以了啊,
如果你的想法是,你有一些数据,想让这个方法处理一下,比如排序,但是处理完成后你仍然要掌握这些数据,当然这些数据已经经过了必要的处理,
这里有一些不同的方式,简单的,你可以把这些数据组织成对象传递给方法处理,
这里你要理解JAVA的对象引用和JAVA的参数传递机制,
JAVA是传值的,JAVA的对象引用被作为参数传递进入方法,你仍然是可以使用当前的对象引用访问到对象的,而且是同一个方法,
所以结论是尽管让方法处理你的对象好了,执行完成之后,你直接再使用之前的对象引用访问这个对象就可以,所以这么做不需要返回值。最后,如果有人说java里有指针,那么请不要妄下结论,认为这个说的指针的含义和c里面的指针的含义是一样的。
只是一个词而已,可以很多解释的,真正需要的是理解java引用本身,那么用哪个词来说明它就次要了,当然,c指针的含义基本上成了普遍的对指针这个词的解释,有必要用“引用”这个词来形容。再举个例子,可能不是很好,
假设有一个数组A,然后有一个INT P,呵呵,这个变量P专门被用来访问A中的元素,
因为要有一定顺序来访问,所以用一个P来会方便一些把,
这个时候我会说P是一个指针,
因为我认为这才是指针的原意。
最后应该是说:同一个对象。
好像说了一堆“最后”,BLUSH,
可惜这里我没有找到修改帖子的功能。
......
void method(Object obj) {
...
obj.doSomething();
...
}
......
method(obj)可以改变obj的状态//////////////////
以上代码只是提示,说明java传对象时传引用,传值时是传值(其实引用也是传值、传引用的值) 在函数体对引用进行操作,引用的对象就会改变。
/* c program */
void foo(int *a)
{
*a = 10;
}
在Java中写为:
void foo(java.lang.Integer a)
{
a.setValue(10);
}