2 qq 23473123 qq_23473123 于 2017.01.06 10:13 提问

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

4个回答

sycdzdd
sycdzdd   2017.01.06 10:26
已采纳

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

qq_23473123
qq_23473123 懂了,谢谢你的回答,讲真你怎么知道是给map用的?
一年多之前 回复
bigname22
bigname22   2017.01.06 10:19

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

qq_23473123
qq_23473123 谢谢
一年多之前 回复
ai977313677
ai977313677   2017.01.06 10:15

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

qq_23473123
qq_23473123 那直接用私有变量有啥区别吗,不是一样可以被类方法使用??
一年多之前 回复
shihengzhen101
shihengzhen101   Rxr 2017.01.06 10:19

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

qq_23473123
qq_23473123 谢谢
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
java中的静态方法有什么作用?
静态方法可以通过类名直接调用,而不需要实例化类的对象。这样一些工具类里声明静态方法,用起来就比较方便。
[转]java中静态变量和静态方法分别有什么特点?
基础真重要啊 一、static   请先看下面这段程序: public class Hello{ public static void main(String[] args){ //(1) System.out.println("Hello,world!"); //(2) } }    看过这段程序,对于大多数学过Java 的从来说,
Static静态变量,静态方法,静态代码块
首先这个知识点,我个人觉得比较重要: 1.静态变量:在一个JAVA类中,可以使用static关键字来修饰成员变量即静态变量,静态变量被所有实例所共享,比较特殊的一点可以使用”类名.变量名”的形式去访问。 egclass Student { static String schoolName; } public class Example { Student stu1 = new
使用静态函数的好处
这一次彻底的想弄清静态的概念~所以收集了以下资料加上自己的理解与大家分享~作为转载 静态成员函数与普通函数的区别: 1.静态成员函数实际上是一个全局函数,不依赖一个类的对象,而属于类不创建对象也可调用(不实例化也可以使用)   普通成员函数依赖一个类的对象,也就是它有一个隐藏的调用参数(this)指针,必须指向一个类的对象(必须实例化才可以使用) 2.静态函数只能访问类中的静态成员变量
staic(静态)变量的作用
在C语言中,关键字static的意思是静态,它有三个明显的作用:首先,在函数体内,静态变量具有“记忆”功能,即一个被声明为静态的变量在这一函数被调用过程中其值维持不变。其次,在模块内(但在函数体外),它的作用域范围是有限制的,即如果一个变量被声明为静态的,那么该变量可以被模块内所有函数访问,但不能被模块外其它函数访问,它是一个本地的全局变量,而如果一个函数被声明为静态的,那么该函数与普通函数作用域
static变量有什么作用
关键字static的意思是静态,有3个明显作用: 1)在函数体内,静态变量具有"记忆"功能。即在函数被调用过程中,一个被声明为静态变量的值维持不变。   static局部变量和普通局部变量的区别:static局部变量只被初始化一次,下一次的运算依据上一次的结果值。
java静态变量和静态方法优缺点
java静态变量和静态方法会在程序初始化运行时候就加载到内存。 优点:不需要在进行实例化。静态变量的值,直接赋新值即可,不需要参数传递,之后可以直接进行参数引用即可;静态方法可以直接通过"类名.方法"的形式进行方法调用。通常方法被多次调用,并且方法中没有动态方法引用的时候使用比较方便。 缺点:初始化加载到内存,如果后续没被引用,加大了内存负担和程序运行负担,影响程序运行效率(一般很小),并且静
静态函数的优点 static
静态函数 在函数的返回类型前加上关键字static,函数就被定义成为静态函数。   函数的定义和声明默认情况下是extern的,但静态函数只是在声明他的文件当中可见,不能被其他文件所用。 定义静态函数的好处:  其他文件中可以定义相同名字的函数,不会发生冲突  静态函数不能被其他文件所用。 存储说明符auto,register,extern,static,对应两种存储期:自动存储期和静态
"静态方法里只能调用静态变量和静态方法"详解
静态方法里可以调用静态方法和静态变量,同时也能调用非静态方法和非静态变量。 public class Test { public Test() {}; public Test(int i) {this.n = i;} public static int m = 5; public int n = 10; public void fun1() {System.out.println("非
java中的静态变量、静态方法与静态代码块区别
我们知道类的生命周期分为装载、连接、初始化、使用和卸载的五个过程。 其中静态代码在类的初始化阶段被初始化。而非静态代码则在类的使用阶段(也就是实例化一个类的时候)才会被初始化。 静态变量 可以将静态变量理解为类变量(与对象无关),而实例变量则属于一个特定的对象。 静态变量有两种情况: 静态变量是基本数据类型,这种情况下在类的外部不必创建该类的实例就