zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Java学习笔记 static关键字作用和应用

JAVA应用笔记学习 作用 关键字 static
2023-06-13 09:18:56 时间

static关键字

static是一个修饰符,用于修饰类的成员方法、类的成员变量

1)static修饰成员变量 static变量称作静态变量、类变量。 静态变量和非静态变量的区别是: 一个类中,一个static变量只会有一个内存空间,虽然有多个类实例,但这些类实例中的这个static变量会共享同一个内存空间。而非静态变量是实例对象所拥有的,在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响。

2)static修饰成员方法

  • 一个类的静态方法只能访问静态属性
  • 一个类的静态方法不能直接调用非静态方法
  • 如果访问控制权限允许,static属性和方法可以是用类名加“.”的方式调用;当然也可以使用实例加“.”方式调用
  • 静态方法中不存在当前对象,因此不能使用this关键字,当然也不能使用super
  • 静态方法不能被非静态方法覆盖
  • 构造方法不允许声明为static

3)static修饰代码块 static关键字还有一个比较重要的作用就是用来形成静态代码块以优化程序性能。static块可以置于类中的任何地方,类中可以有多个static块。在类初次被加载的时候,会按照static块的顺序来依次执行每个static块,并且只会执行一次。static块可以优化程序性能,是因为它的特性:只会在类被初次加载的时候执行一次。

4)静态导包 这里在导入时,我们使用了static关键字,而且在引入类的最后还加上了“.*”,它的作用就是将某类中的所有类方法直接导入。不同于非static导入,采用static导入包后,在不与当前类的方法名冲突的情况下,无需使用“类名.方法名”的方法去调用类方法了,直接可以采用"方法名"去调用类方法,就好像是该类自己的方法一样使用即可。 import static com.java.study.PrintHelper. *

总结

static是java中非常重要的一个关键字,而且它的用法也很丰富,主要有四种用法:

  • 用来修饰成员变量,将其变为类的成员,从而实现所有对象对于该成员的共享。
  • 用来修饰成员方法,将其变为类方法,可以直接使用“类名.方法名”的方式调用,常用于工具类。
  • 静态块用法,将多个类成员放在一起初始化,使得程序更加规整,其中理解对象的初始化过程非常关键。
  • 静态导包用法,将类的方法直接导入到当前类中,从而直接使用“方法名”即可调用类方法,更加方便。
  • Java中的static关键字不会影响到变量或者方法的作用域。在Java中能够影响到访问权限的只有private、public、protected(包括包访问权限)这几个关键字。