Java中static关键字的作用,请记住这5点

Java中static关键字的作用,请记住这5点

1.修饰成员变量

用来修饰成员变量,将其变为类变量,从而实现所有对象对该成员的共享。(因为类加载进方法区,多个对象是共享的。)
引申考点JVM类加载机制

2.修饰成员方法

用来修饰成员方法,将其变为工具类方法,可以直接使用“类名.方法名”的方式调用。

注意1:被static修饰的变量和方法统一属于类的静态资源,是类实例之间共享的,换言之,一处变、处处变。(JDK把不同的静态资源放在了不同的类中,而不把所有静态资源放在一个类里面,个人认为主要有三点好处:

  • 实现分类;
  • 避免重名;
  • 避免静态资源类无限膨胀。)

注意2:非静态方法可以访问静态资源,但静态方法的只能访问静态资源。(因为静态资源属于类,但是是独立于类存在的。从JVM的类加载机制的角度讲,静态资源是类初始化的时候加载的,而非静态资源是类new的时候加载的。类的初始化早于类的new的,所以对于静态资源来说,它是不可能知道一个类中有哪些非静态资源的;而对于非静态资源来说就,它是new之后产生的,因此属于类的这些东西它都能认识。)

3.修饰静态代码块

用来修饰静态代码块(static{}),将多个类成员放在一起初始化,只会在类初次加载时被执行一次
注意3

  • 静态资源的加载顺序是严格按照静态资源的定义顺序来加载的;
  • 静态代码块对于定义在它之后的静态变量,可以赋值,但是不能访问;
  • 静态代码块是严格按照父类静态代码块 -> 子类静态代码块的顺序加载的,且只加载一次。

4.修饰内部类

用来修饰内部类,static只能修饰一个内部类。

5.静态导包

用于静态导包(import static …),在不与当前类的方法名冲突的前提下,可以直接使用“方法名”调用导入类的方法。


写在最后
一个致力于 帮助应届生就业 的清水博主 !
如有 不足,欢迎 评论区 指正,我们 共同进步 !
创作不易,如有帮到您,请您 点赞、评论、+收藏 哦!
关注我,助您快速备战 春招 和 秋招

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值