玄冬Wong 2010-08-05 19:02
浏览 227
已采纳

静态方法为什么不用修改引用类型变量

  private static void _2010_8_5_b() {
        String str = "abc";//new String("456");
        _2010_8_5_test(str);
        System.out.println(str);

    }

    private static void _2010_8_5_test(String str) {
        System.out.println("before:"+str);
        str = "123";
        System.out.println("after:"+str);
    }

    public static void main(String[] args) {
        // instance._2010_8_5();
        _2010_8_5_b();
    }

想通过方法_2010_8_5_test修改方法_2010_8_5_b() 中变量,但跳出方法_2010_8_5_b() 后,变量str值未变化,这是静态方法的特性吗?那应该怎样才能在静态方法中修改引用类型的变量。谢谢!

 

  • 写回答

2条回答 默认 最新

  • CaiHuajiang 2010-08-05 19:29
    关注

    [code="java"]private static str;

    private static void _2010_8_5_b() {
        str = "abc";//new String("456");
        _2010_8_5_test(str);
        System.out.println(str);
    
    }
    
    private static void _2010_8_5_test(String str) {
        System.out.println("before:"+str);
        str = "123";
        System.out.println("after:"+str);
    }
    
    public static void main(String[] args) {
        // instance._2010_8_5();
        _2010_8_5_b();
    }[/code]
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?