日期:2014-05-20  浏览次数:20767 次

请问这段代码哪错了?
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;
  }
  }



------解决方案--------------------
pass类哪,没有pass类你怎么新建对象啊?
------解决方案--------------------
你是不是写错了,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;
}
}
------解决方案--------------------
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的值......
------解决方案--------------------
探讨
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的值......