public class T{
 int i=set();
 int j=2;
 
 public  int set(){
  return j;
}public static void main(String args[]){
   T t=new T();
  
   System.out.println(t.i+" ");
   
}
}解释一下这个题的输出java 

解决方案 »

  1.   


    public class TTT {
    int i = set();
    int j = 2; public int set() {
    return j;
    } public static void main(String args[]) {
    TTT t = new TTT();// 初始化t.i=0
    System.out.println(t.i + " ");//打印0
    }
    }
      

  2.   

    i = set();这里没有改变i的值吗  能稍微再详细一点嘛
      

  3.   

    按你的写法,结果为0;原因是int i = set().执行时,j为0,这个0是默认的。如果在该语句执行前对j赋值的话,结果就是你赋的那个值。
      

  4.   

    前面已然解释,调用set()的时候,j为赋值,默认为0!