public class StaticTest { public int x=1;
public static int y=1;}
public class StaticTester {
public static void main(String[] args) {
StaticTest.y +=1;
StaticTest t1=new StaticTest();
StaticTest t2=new StaticTest();
t1.x +=1;
t1.y +=1;
t2.x +=2;
t2.y +=2;
System.out.println("T1:x="+t1.x+",y="+t1.y);
System.out.println("T2:x="+t2.x+",y="+t2.y);
}}

解决方案 »

  1.   

    你是考我们还是不会来问的?
    答案是 :
    t1.x=2,t1.y=5
    t2.x=3,t2.y=5因为在StaticTest类中,字段y是静态的,属于一个类变量,StaticTest类的所有对象共用这个字段。
    在内存中,静态的字段只有一份拷贝,所有的对象共享;非静态的字段则是每个对象有一份拷贝。明白?
      

  2.   

    class StaticTest { public int x=1; 
    public static int y=1; } 
    public class StaticTester { 
    public static void main(String[] args) { 
    StaticTest.y +=1; 
    StaticTest t1=new StaticTest(); 
    StaticTest t2=new StaticTest(); 
    t1.x +=1; 
    t1.y +=1; 
    t2.x +=2; 
    t2.y +=2; 
    System.out.println("T1:x="+t1.x+",y="+t1.y); 
    System.out.println("T2:x="+t2.x+",y="+t2.y); 
    } }
      

  3.   

    class StaticTest { public int x=1; 
    public static int y=1; } 
    public class StaticTester { 
    public static void main(String[] args) { 
    StaticTest.y +=1; 
    StaticTest t1=new StaticTest(); 
    StaticTest t2=new StaticTest(); 
    t1.x +=1; 
    t1.y +=1; 
    t2.x +=2; 
    t2.y +=2; 
    System.out.println("T1:x="+t1.x+",y="+t1.y); 
    System.out.println("T2:x="+t2.x+",y="+t2.y); 
    } }
    http://netvsjava.5d6d.com编程村论坛
      

  4.   


    呵呵,其实我们都是新手,高手谁还来这里呢,对吧?不懂就问,我们多交流才能成长的更快,走更少的弯路。KingRat525 说感觉如果自己不确定还是不要用。NewMoons的“这貌似很简单”,不是貌似,是它本来就很简单,个人认为,如果你真想干Java这行,你必须得会。不会再问吧,呵呵