Java 里面没有指针
如果这样定义行不行: 
    Public Static int a;

解决方案 »

  1.   

    也就是说对象相当于C++中的引用,不过要注意Java中的机制。
      

  2.   

    基本数据类型还有String是不行,详情见:http://expert.csdn.net/Expert/topic/1611/1611155.xml?temp=.5494654
      

  3.   

    比如要改变一个int,用Integer也不行,还要自己定义一个类啊?
      

  4.   

    不用定义类,用数组实现,比如本来是func(n);改成func(n[0]);
    在func定义的地方改成public void func(int[] n){}即可,字符串也类似
      

  5.   

    我想有没有必要看那到程序
    class change{
    public static void main(String args[]){
         String  str="hi";
        void  print(string s){
        s=str; 
        System.out.println(s);
       }   void change_string(string st){ 
           str=st;
          st="ha";
         System.out.println(str);
         }
       }
    }小弟也没研究好那程序对错
      

  6.   

    wyqiang()你想要做什么我还是不明白
      

  7.   

    wyqiang()你参数类型为String 而不是string你把两个方法放到了静态方法main中,不出错才怪呢?你试试下面的吧class change
    {
         String  str="hi";
         void  print(String s)
        {
            s=str; 
            System.out.println(s);
        }
        void change_string(String st)
        { 
            str=st;
            st="ha";
            System.out.println(str);
        }
        public static void main(String args[])
        {
         //在这写你想做的事吧
        }
    }
      

  8.   

    我前面说的一般情况下对象作为参数时,就能改变这个对象内的成员。但这对象不包含字符串
    public class Test{ 
      public static void stringReplace(String text){ 
        text=text.replace('j','l'); 
       } 
       public static void bufferReplace(StringBuffer text){ 
         text=text.append("c"); 
        } 
      public static void main(String args[]){   
        String textString=new String("java"); 
        StringBuffer textBuffer=new StringBuffer("java"); 
         stringReplace(textString); 
         bufferReplace(textBuffer); 
       System.out.println(textString+textBuffer); 
         } 
         }
    也看看别人做的这个吧,为什么不能传递?
    它们是单向传递的,不管是stringReplace或者是bufferReplace方法匀不就把改变后的形参带回去。要说明的是为什么后一种能改变呢?那是因为你调用了系统方法append,这个append就是改变原来的实参,所以说并不是因为bufferReplace改变的,而是因为append而改变的