日期:2014-05-20  浏览次数:20619 次

集合类对象的使用范围:静态代码块里面、方法体里面?

小弟写的一段代码: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静态代码块里,或
一个类的方法体里面吗? 这样才是正确的?

先不考虑泛型!










------解决方案--------------------
这跟集合木有关系,这是java基本语法问题
Java code

public class Test {
    private int a = 1;
    a = 2;//ERROR
}

------解决方案--------------------
Java code

public class Test {
    private String a = "";
    a.getBytes();
}

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