static关键字

java static关键字

static可以修饰的

  1. static方法
  2. static变量
  3. static代码块

static的作用

被static修饰的变量/方法不需要实例对象去访问,也就是可以不需要this关键字就可以访问,因为被static修饰的在类加载了以后就可以通过类名.变量/方法来进行调用。

  • static方法

    静态方法的访问不需要依靠实例对象,可以直接通过类名.方法名进行调用。但是要注意一点:

    static修饰的方法不可以调用普通的类的方法,因为普通的类的方法是需要类的实例的,也就是普通的方法是可以通过this关键字访问,但是static方法是不依赖类的实例的,所以没有类的实例,不能调用普通的类的实例方法。但是相反的,因为static什么实例都不需要依赖,所以,类的普通的实例方法是可以随便调用静态方法的

  • static变量(平时看到挺多的)

    static变量时被所有的对象所共享的,在内存中只有一份,不想非静态的变量,每个类的实例在内存中都有一份非静态变量的副本,所以,各自互不影响。

  • static代码块

    static因为实在类加载的时候就有了,所以,static代码块可以帮助我们优化我们的代码,static代码块会在类的加载的时候执行一次,比如我们有一些需要加载一次的代码,可以使用static代码块包裹,在类加载的时候就执行一次且只执行一次。可以节省很多实例的创建。

posted @ 2019-07-26 10:13  GaryZz  阅读(92)  评论(0编辑  收藏  举报