Java中,static关键字一般情况下有四种用法:
- 用来修饰一个变量。
- 用来修饰一个方法。
- 用来修饰一个内部类。
- 用来修饰一段代码块。
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修饰的方法,就表示这个方法是静态的。静态方法的使用,直接“类名.方法名”就可以,我们类库中很多方法就是这样的,这样我们不用实例化就可以使用类中的方法。
但静态方法应该注意以下几点:
- 只能直接调用静态变量,不能直接调用非静态变量。
- 只能直接调用静态方法,不能直接调用非静态方法。
- 不能使用this、super关键字。
- 不能被非静态方法覆盖。
static修饰的内部类
static是不能修饰类的,但可以修饰内部类,称为静态内部类。静态内部类应该注意:
- 可以直接访问外部类的静态成员,不可以直接访问外部类的非静态成员。
- 非静态内部类只能定义非静态变量和方法,静态内部类可以定义静态和非静态的变量和方法。
static修饰的代码块
static修饰的代码块,称为静态块,静态块只会在类载入时执行一次。
2014-08-03
java中static关键字总结
时间: 2024-10-26 07:03:52