java中static关键字的作用及用法

概述:
  
  静态修饰符,静态指编译后所分配的内存会一直存在,直到程序退出内存才会释放这个空间,用static修饰的成员不需要实例化对象就可以通过类名加“.”进行访问。
  
   被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们。
  
  因此,static对象可以在它的任何对象创建之前访问,无需引用任何对象。


static修饰变量

  被static修饰的变量叫静态变量,JVM只为静态变量分配一次内存,在加载类的过程中完成静态变量的内存分配。可用类名直接访问。

static修饰方法

  静态方法可直接通过类名调用,任何实例也都可以调用,因此静态方法不能用thissuper关键字。不能直接访问所属类的实例成员变量和成员方法,因为非静态成员方法/变量都必须依赖具体的对象才能够被调用。

   在非静态成员方法中是可以访问静态成员方法/变量的

static代码块

   静态代码块,是在类中独立于类成员的static语句块,可以有多个,位置可以随便放,它不在任何的方法体内。

  JVM加载类时会执行这些静态的代码块,如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次。

静态代码块与静态方法的区别


  如果有些代码必须在项目启动的时候就执行,就需要使用静态代码块,这种代码是主动执行的;


  需要在项目启动的时候就初始化但是不执行,在不创建对象的情况下,可以供其他程序调用,而在调用的时候才执行,这需要使用静态方法,这种代码是被动执行的。

  
  静态方法在类加载的时候 就已经加载 可以用类名直接调用。
  
本文参考链接:https://blog.csdn.net/fengyuzhengfan/article/details/38082999

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值