在c#中,可以使用关键字out标识参数传递,java中是否有类似的功能。我想把参数的值传回来,应该怎么做?

解决方案 »

  1.   

    你把这个参数作为类的属性变量,然后return出来,就可以了啊。
      

  2.   

    不管你想传出来什么   在Java里面  你只能return一个数据类型   比如return一个数组  一个int等
      

  3.   

    这就是java 的特点吧,简单平常
      

  4.   

    java函数的参数只能传递引用,不能传递应用的地址,这就是为什么没有简单的方法的原因。从面向对象的设计来说,如果你的这个参数只需要传递出来,那个它应当是该对象的一个属性,因为它的生命周期已经超过该函数的生命周期。
      

  5.   

    正好说反了.
    如果你学过C++的话,你可以说,java实际是传递的地址而不是引用.
    参考<the java programming language>
      

  6.   


    我这儿可能没有说清楚,我是想说java中不能传递引用的地址,所以在java方法中引用比改变后,是不能被传递回去的 而c++可以传递变量地址的地址,所以c++函数调用的过程中可以更改传递过来的变量地址。另外,我理解java的引用其实和c中的句柄(指针的指针)是最为相似的,所以java中实际传递的是引用(or 句柄),而不是地址。
      

  7.   

    我感觉跟地址更像,其实无所谓了.#include <iostream>  
    using namespace std;class Test {
    public:
        int a;
    };void change(Test* test) {
        test->a = 5;
        test = new Test();
        test->a = 8;}int main() {
        Test* t = new Test();
        change(t);
        cout << t->a << endl;

      

  8.   


    指针可以实现对传递状态的改变,句柄同样也可以。java没有将指针作为引用的主要原因是从语言的安全性上考虑的,如果直接传递地址,则可能会出现c语言中的缓冲区溢出的错误,这个在java中从来没有听说过。