background image

访问所属类的静态成员变量和成员方法。
因为实例成员与特定的对象关联!这个需要去理解,想明白其中的道理,
不是记忆!!!
因为

static 方法独立于任何实例,因此 static 方法必须被实现,而不能

是抽象的

abstract。

例如为了方便方法的调用,

Java API 中的 Math 类中所有的方法都是静

态的,而一般类内部的

static 方法也是方便其它类对该方法的调用。

静态方法是类内部的一类特殊方法,只有在需要时才将对应的方法声明
成静态的,一个类内部的方法一般都是非静态的
3、static 代码块
 

static 代码块也叫静态代码块,是在类中独立于类成员的 static 语句

块,可以有多个,位置可以随便放,它不在任何的方法体内,

JVM 加载

 

类时会 执行这些静态的代码块,如果

static 代码块有多个,JVM 将按照

它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次。
例如:
public class Test5 {
private static int a;
private int b;
static{
Test5.a=3;
System.out.println(a);
Test5 t=new Test5();
t.f();
t.b=1000;
System.out.println(t.b);
}
static{
Test5.a=4;
System.out.println(a);
}
public static void main(String[] args) {
// TODO 自动生成方法存根
}
static{
Test5.a=5;
System.out.println(a);
}
public void f(){
System.out.println("hhahhahah");
}

运行结果:
3