可以,比如:
Chair kk=new Chair();
....
.. kk.aMethod();
Chair kk=new Chair();
kk.anotherMethod();//这儿 的 kk 和上面的是不一个对象

解决方案 »

  1.   

    我的意思是在
          for(int j=0;j<3;j++){
          Chair kk=  new Chair();
          System.out.println(kk.i);//i是Chair中的变量
          }
    中可以执行,为什么
    Chair kk=new Chair();
    System.out.println(kk.i);
    Chair kk=new Chair();
    System.out.println(kk.i);就不行?
      

  2.   

    for(int j=0;j<3;j++)
    {
          Chair kk=  new Chair();
          System.out.println(kk.i);//i是Chair中的变量
         //kk被收集,因为到了"}"
    }循环一次kk就被清掉一次(垃圾收集)
      

  3.   

    Chair kk=new Chair();
    System.out.println(kk.i);
    Chair kk=new Chair();
    System.out.println(kk.i);因为变量的作用域不一样改成
    {Chair kk=new Chair();
    System.out.println(kk.i);
    }
    Chair kk=new Chair();
    System.out.println(kk.i);

    Chair kk=new Chair();
    System.out.println(kk.i);
    kk=new Chair();
    System.out.println(kk.i);
    就可以。
      

  4.   

    噢!总算明白火箭炮的意思了。
    for循环里面定义的变量范围只是在for循环里面,所以每次循环都是一个不同的临时变量。
    你后面的代码,等于是在一个空间里面定义了两个同名的变量,当然不行了(任何语言里都不行)
    建议你去看看变量的作用域。
      

  5.   

    hexiaofeng(java爱好者) 
    for(int j=0;j<3;j++)
    {
          Chair kk=  new Chair();
          System.out.println(kk.i);//i是Chair中的变量
        //kk被收集,因为到了"}"
    }循环一次kk就被清掉一次(垃圾收集)  
    ****************
    kk被收集了吗?
    我看过一个程序:
    在这样一个循环中
        while(!Chair.f) {
          new Chair();
          
        }
    Chair.f是在finalize()中变成的true。在这个程序中,new Chair()了2903次后,java才开始调用垃圾回收器。kk应该是对象的句柄吧?当用new分配后,每个对象都有独立的储存空间和各自的句柄,如果不加{}则创建的句柄就不是唯一的。我是这样理解的,不知道对不对?唉,最近看Thingk in java都看傻了,变得爱钻牛角尖了。 
      

  6.   

    Vector v = new Vector();
    v.add(new Chair());
    v.add(new Chair());(Chair()v.elementAt(0)).method();