静态变量有什么作用,是不是存在于静态方法才有意义。

private static Set<String> neededPropertyNameSet = new HashSet<String>();
static {
    // 对参数进行预处理
    neededPropertyNameSet.add("orgid");
    neededPropertyNameSet.add("includeflag");
    }
    看到别人写的代码,弄了个静态变量,只是在本类的方法里面用了,我觉得没必要,直接用私有变量就可以了,还浪费内存,就想到静态变量的作用,感觉静态变量是静态方法附属的。求解!!!

静态变量对于同一个运行时环境(也就是同一个类加载体系加载到的class)来说是全局的,由此实例出来的所有对象访问的是同一份数据,
static块在类加载的时候会进行初始化,只初始化一次,我觉得他应该是想在加载类的时候就做map的初始化动作,而不是在实例化对象时
重复去对参数进行预处理

这不是静态变量,这是静态块,静态块一般用来初始化类的属性,在类被载入时执行,且只执行一次。

静态变量可以看成是类的所有对象所共有的

举个例:在类中定义一个静态成员变量,那么这个静态就与这个类中的对象无关,无论new出多少个对象都是共享这一个静态变量。而与类有关。
java编程思想中好像大致这样说过:static一定程度上与面对对象思想相违背。希望对你有帮助