public class test {
  public static void main(String[]args){
  T t1 = new T();
  T t2 = new T();
  System.out.println("t1's = "+t1.i+" and j = "+t1.j);
  System.out.println("t2's = "+t2.i+" and j = "+t2.j);
  
  }
}
 class T{
static int i=0;
int j=0;
T(){
i++;
j++;
}
}

解决方案 »

  1.   

    0,0
    1,0static定义的变量是长住内存的,有储存功能,我手机上的,新手上路,各位见笑了
      

  2.   

    作用范围不一样:对于 static 字段是被这个类所有的对象所共享的,没 static 的是每个对象有一个。
    初始化时机不一样:static 是在类加载时初始化的,没 static 是在对象产生时初始化的。
      

  3.   

    static 定义的是全局变量,被该project的所有对象所共享,而非static定义的对象默认的都是局部变量,在该方法使用完毕后自动释放
    t1's = 2 and j = 1
    t2's = 2 and j = 1
      

  4.   

    static int i=0;
    这个i是类的变量,所以它的值每次都会变。
    int j=0;
    是实例的变量,不产生一个新实例,都是从0开始。
      

  5.   

    运行结果:
    t1's = 2 and j = 1
    t2's = 2 and j = 1
    静态变量每次类加载时自动调用,并且这个值是不会变的,也就是说每次你调用构造函数的时候它都会加1,只要程序不结束,它的值就不会变,那么下一次你调用构造函数的时候(也就是创建类时),它的值是1然后再加1,就变2了。而非静态变量每次类加载时都会初始化(也就是每次都执行int j=0),然后再执行构造函数(加1),所以没重新创建类它都是1(即0+1)
      

  6.   

    t1's = 2 and j = 1
    t2's = 2 and j = 1static 只有一份。生命周期提前。
      

  7.   

    t1's = 2 and j = 1
    t2's = 2 and j = 1
    恩,仔细一点就是这样了
      

  8.   

    t1's = 2 and j = 1
    t2's = 2 and j = 1static 是类变量,类的所有对象共有的变量。当其中一个对象改变类变量,其他对象访问到的是改变后的泪变量。而lz题中的j是对象的变量,是每个对象自己拥有的变量。没在对象间共享。
    不专业,但很通俗。
      

  9.   

    t1's = 2 and j = 1
    t2's = 2 and j = 1
      

  10.   

    运行的结果为:
    t1's = 2 and j = 1
    t2's = 2 and j = 1
    当每次你调用构造函数的时候它都会加1,只要程序不结束,它的值就不会变,那么下一次你调用构造函数的时候(也就是创建类时),它的值是1然后再加1,就变2了。而非静态变量每次类加载时都会初始化(也就是每次都执行int j=0),然后再执行构造函数(加1),所以没重新创建类它都是1(即0+1)
      

  11.   

    最近再看这种东西。。
    static 是作用整个类的。
      

  12.   

    t1's = 2 and j = 1
    t2's = 2 and j = 1可以理解i是公用的一个变量,
    而j是成员变量,根据实例的不同开辟了不同的空间。
      

  13.   

    第一个输出是2和1
    第二个输出是2和1以为i是static。
       
      

  14.   

    t1's = 2 and j = 1
    t2's = 2 and j = 1
    static的值由最终的那个值是什么就是什么,因为调用了两次,所有i加了两次,最终为2, 所有的i此时都为2
    二j,不是静态的,所以,第一次调用j=0,加1后为1;第二次,j又归为0后,又J++所以还是1;
      

  15.   

    2      1
    2      1两次构造以后 static 变量是共用的,已经是2了。
    非static是对象内部使用的,所以都是1。
    这种问题还是有用的,是基本功,不能忽略。