public class Myprog {
       static int j=20;
    public static void main(String[] args) {
       int i=10;
       Pass p=new Pass();
       p.amethod(i);
        System.out.println(i);
        System.out.println(j);
       }
    public void amethod(int x){
        x=x*2;
        j=j*2;
    }
    }

解决方案 »

  1.   

    pass类哪,没有pass类你怎么新建对象啊?
      

  2.   

    public class Myprog { 
          public static void main(String[] args) { 
          int i=10; 
          Pass p=new Pass(); 
          int t = p.amethod(i); 
            System.out.println(i); 
            System.out.println(t); 
          } 
    }
    class Pass {
        public int j = 20;
        public int amethod(int x){ 
            x=x*2; 
            j=j*2; 
            return j;
        } 
    }
    这下行了,呵呵
      

  3.   

    你是不是写错了,Pass 得定义一下啊。这样写吧
    public class Pass{
          static int j=20;
        public static void main(String[] args) {
          int i=10;
          Pass p=new Pass();
          p.amethod(i);
            System.out.println(i);
            System.out.println(j);
          }
        public void amethod(int x){
            x=x*2;
            j=j*2;
        }
        } 
      

  4.   

    public class Myprog {    static int j=20; 
        public static void main(String[] args) { 
          int i=10; 
          Myprog p=new Myprog(); 
          p.amethod(i); 
            System.out.println(i); 
            System.out.println(j); 
          } 
        public void amethod(int x){ 
            x=x*2; 
            j=j*2; 
        } }
    结果
    10
    40
    并没有改变i的值......
      

  5.   

    i值没变是因为java的值传递
    j值变了是因为j是静态变量