首页 > 代码库 > java中static关键字总结

java中static关键字总结

Java中,static关键字一般情况下有四种用法:

  1. 用来修饰一个变量。
  2. 用来修饰一个方法。
  3. 用来修饰一个内部类。
  4. 用来修饰一段代码块。
 1 public class Student{ 2     String name; 3     static int count;//static修饰的变量 4     static{//static修饰的代码块 5         count=0; 6     } 7     public static void playGame(){//static修饰的方法 8         System.out.println("我爱玩游戏!"); 9     }10     public static class Hair{//static修饰的内部类11         String color;12     }13 }

static修饰的变量(static是不能修饰局部变量的)

static修饰变量,就表示这个变量是静态的,全局共享的,就是这个类的所有对象都会共享这个变,就像上面例子一样,count这个变量会被Student类的所有对象共享,比如现在创建了“小明”和“小红”两个对象,小明修改count,小红再去访问count,就是小明修改后的结果。另外,static变量甚至都不需要通过对象来访问,直接“类名.变量名”就可以访问。

static修饰的方法(static是不能修饰构造方法的)

static修饰的方法,就表示这个方法是静态的。静态方法的使用,直接“类名.方法名”就可以,我们类库中很多方法就是这样的,这样我们不用实例化就可以使用类中的方法。

但静态方法应该注意以下几点:

  1. 只能直接调用静态变量,不能直接调用非静态变量。
  2. 只能直接调用静态方法,不能直接调用非静态方法。
  3. 不能使用this、super关键字。
  4. 不能被非静态方法覆盖。

static修饰的内部类

static是不能修饰类的,但可以修饰内部类,称为静态内部类。静态内部类应该注意:

  1. 可以直接访问外部类的静态成员,不可以直接访问外部类的非静态成员。
  2. 非静态内部类只能定义非静态变量和方法,静态内部类可以定义静态和非静态的变量和方法。 

static修饰的代码块

static修饰的代码块,称为静态块,静态块只会在类载入时执行一次。

2014-08-03