静态变量,静态方法,静态代码块,静态内部类

Posted lbobo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了静态变量,静态方法,静态代码块,静态内部类相关的知识,希望对你有一定的参考价值。

静态变量

有时候当我们希望某个数据在内存之中只有一份,而且能被一个类的所有实例对象所共享的时候。我们可以用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();

静态内部类中只能访问外部类中静态成员

静态内部类中可以定义静态成员,非静态内部类不允许定义静态成员。

以上是关于静态变量,静态方法,静态代码块,静态内部类的主要内容,如果未能解决你的问题,请参考以下文章

static面试总结

JAVA-封装-静态属性

finalstatic代码块静态代码块内部类代码执行顺序

静态变量,静态代码块

深入类和对象

匿名对象,封装,构造代码块静态代码块内部类匿名内部类