静态变量
有时候当我们希望某个数据在内存之中只有一份, 而且能被一个类的所有实例对象所共享的时候. 我们可以用 static 来修饰成员变量, 该变量叫静态变量.
例 static String schoolName;
静态变量不会被回收
该变量可以用 类名. 变量名调用, 也可以通过实例对象调用
static 关键字只能修饰成员变量不能修饰局部变量
静态方法
当我们希望方法不必和对象绑定到一起的时候, 我们可以用 static 来修饰其方法. 称其为静态方法.
可以通过 类名. 方法名 (), 也可以通过实例化对象进行调用.
注意: 静态方法之中只能访问 static 修饰的成员. 原因为 非静态成员需要实例化对象才能访问, 而静态方法被调用可以不用创建对象.
静态代码块
当类被加载时, 静态代码块会执行, 因类之背加载一次, 静态代码块也只执行一次. 可用于对成员变量的初始化,
加载类 并且执行静态代码块, 随后调用 main 方法
静态内部类
- class Outer{
- private static int num=6;
- static class Inner{
- void show(){
- System.out.println("num="+num);
- }
- }
- }
创建静态内部类对象 Outer.Inner inner= new Outer.Inner();
静态内部类中只能访问外部类中静态成员
静态内部类中可以定义静态成员, 非静态内部类不允许定义静态成员.
来源: http://www.bubuko.com/infodetail-3234558.html