当前位置:文档之家› Java中的静态变量_静态方法_静态块与静态类

Java中的静态变量_静态方法_静态块与静态类

Java中的静态变量、静态方法、静态块与静态类
在Java中,static是一个关键字,我们不能用它来作为类名或包名,static主要有四种用途,即作为静态变量、静态方法、静态块和静态类。

1、静态变量Java static variables
静态变量就是类变量,它并不属于类的实例,仅属于类本身。

在所有能访问该类的地方,也就可能访问或修改该变量,它是非线程安全的,因此,静态变量通常是和final关键字结合在一起,用来标识该变量是一个公共资源和常量。

只要静态变量不是private私有的,那么我们可通过ClassName.variableName的方式进行访问。

2、静态方法Java static methods
静态方法与静态变量一样,也是属于类本身而不属于类的实例对象。

在一个静态方法中,除了局部变量外,它能访问的外部变量也必须是静态的,能访问的外部方法也必须是静态的,实例变量和实例方法均不能访问。

3、静态块Java static Block
静态块是由一些语句组成的段落,它在类被加载进内存时执行,且无论类被使用多少次它都只会执行一次。

一个类的静态块可以有多个,其执行顺序由它在代码中的顺序决定。

4、静态类Java static methods
静态类都是内部类,static不能用于修饰顶级的类。

对于单例模式用静态类来实现就是一个很不错的选择。

5、完整示例
//static variable example
private static int count; //kept private to control it's value through setter public static String str;
public int getCount() {
return count;
}
//static method example
public static void setCount(int count) {
if(count > 0)
StaticExample.count = count;
}
//static util method
public static int addInts(int i, int...js){
int sum=i;
for(int x : js) sum+=x;
return sum;
}
//static class example - used for packaging convenience only
public static class MyStaticClass{
public int count;
}
}。

相关主题