static可以修饰:变量,方法,代码块,类

(1)静态变量:

  静态变量是属于类的,存放在方法区,是线程共享的

  实例变量属于实例的,变量放在堆上,引用放在当前线程栈上,是线程私有的

(2)静态方法:

  静态方法是在类加载的时候加载到内存.(所以静态方法中只能使用外部的静态变量,调用的方法也只能是静态方法,否则编译不通过)

  非静态方法是在类实例化的时候才被加载到内存.

  静态方法可以通过类名直接调用,非静态的方法需要实例化后再调用.

  静态方法不能被重写,子类中跟父类签名相同的方法我们称之为隐藏

(3)静态代码块:

  类中的静态代码块也是在类加载的时候执行,常用来做类的初始化工作   

(4)内部静态类:

  静态内部类是定义在类里面,用static修饰的类,在静态内部类里面只能访问外部类的静态属性跟静态方法

      

 

posted on 2021-02-06 16:06  song.yan  阅读(70)  评论(0编辑  收藏  举报