小弟写的一段代码:Vector vector=new Vector(5);
EnemyTank enemyTank=new EnemyTank(100, 100, 5, '?');
vector.add(enemyTank);开始,放在一个类里面(但不在这个类的任何方法里面),直接报错,eclipse直接不提示有vector对象。第一种修改:
           将其放在静态代码块里:
             static{
                  Vector vector=new Vector(5);
EnemyTank enemyTank=new EnemyTank(100, 100, 5, '?');
vector.add(enemyTank);
                  }居然通过了编译。
            第二种修改:
         将其放在这个类的一个方法体里:          class  Gra {               public void show()
               {
                  Vector vector=new Vector(5);
EnemyTank enemyTank=new EnemyTank(100, 100, 5, '?');
vector.add(enemyTank);
                }}居然也通过编译。这时,想问一个问题:
                    集合类建立的对象,比如Vector类建立的vector对象,必须使用在一个类的static静态代码块里,或
一个类的方法体里面吗? 这样才是正确的?先不考虑泛型!

解决方案 »

  1.   

    这跟集合木有关系,这是java基本语法问题public class Test {
    private int a = 1;
    a = 2;//ERROR
    }
      

  2.   


    public class Test {
    private String a = "";
    a.getBytes();
    }
    这些都是一个道理,不是什么东西能放到{}外的
      

  3.   

      这跟集合没关系,java的类里除了属性,方法,内部类等外,不允许有单独存在的代码块,除非放在static{}里