在java类中声明属性、方法和内部类时,可使用关键字static座位修饰符。
·static标记的属性或方法由整个类(所有实例)共享,如访问控制权限允许,可不必创建该类对象而直接用类名加“.”调用。
·static成员也成为“类成员”或“静态成员”,如“类属性”、“类变量”,“类方法”、“静态方法”等。
static属性由其所在类(包括该类所有的实例)共享,而非static属性则必须依赖具体、特定的对象(实例)而存在。
static初始化块:
在类的定义体中、方法的外部可包含static语句块,static块仅在其所属的类被载入时执行一次,通常用于初始化static(类)属性。
例如:
class Person
{
public static int total;
static
{
total = 100;
System.out.println("in static block");
}
}
非static初始化块:
在初始化创建对象时被自动调用。
例如:
class A
{
private int i = 5;
{
System.out.println("创建新对象---");
}
public A(){}
}
·静态方法中只能使用静态的方法和静态的属性或变量。
静态导入:
用于在一个类中导入其他类或接口中的static成员,语法如下
import static <包路径>.<类名>.*
或者:import static <包路径>.<类名>.<静态成员名>;