c++里可以成const &st,防止引用参数被修改,
在java里应该怎么写?

解决方案 »

  1.   

    你是指函数参数为常量吗?如果是,用final
    public void test(final int a){}
      

  2.   

    Java 传递参数,如果是int String,不加final也没事。
      

  3.   


    你好。
    public static void change(final ning n)
    {
    n.i = 1;
    }
    我声明了final还是可以改变参数。
      

  4.   

    你好。
    public static void change(final ning n)
    {
    n.i = 1;
    }
    我声明了final还是可以改变参数。
      

  5.   


    这种语境下的常量是指,ningr的引用n不可以再指向其它的实例.但改变n实例内部的属性是没有问题的.
    如果你这样写就编不过去啦....ublic static void change(final ning n)
    {
      ning s=null;
      n=s;
    }
      

  6.   

    c++里可以成const &st,防止引用参数被修改
    不止是防止引用被修,还有几个更重要的原因
    1. 速度
    2. 可以传递临时参数 (非常重要,尤其是在Qt中到处都是)
    3. 只有非const方法能被调用
    4. 不能修对象的属性值你好。
    public static void change(final ning n) { n.i = 1; }
    我声明了final还是可以改变参数。

    Java里只是引用本身不能被修,但是引用的属性值是可以被修改的。相当于C++的指针常量,而非常量指针,即是int* const pointer
      

  7.   

    你好。我觉得常量指针的功能很重要啊,java没办法实现吗?
      

  8.   

    java 里面好像都是传值的