Java:static 修饰的字段、方法

33 篇文章 1 订阅
  • static 修饰符表示静态的,可修饰字段、方法、内部类,其修饰的成员属于类,也就是说 static 修饰的资源属于类级别,而不是对象级别。

static 的真正作用:

用来区别字段、方法、内部类,初始化代码属于对象还是属于类本身。

static 修饰符的特点:

① static 修饰的成员(字段/方法),随着所在类的加载而加载
当 JVM 把字节码加载金 JVM 的时候,static 修饰的成员已经在内存中了
② 优先于对象的存在
对象是被手动通过 new 关键字创造出来的
③ static 修饰的成员被该类型的所有对象所共享
根据该类创建出来的任何对象,都可以访问 static 成员。
注:表面上通过对象去访问 static 成员,其本质依然使用类名访问,与对象无关,使得 3 并无实际意义
④ 直接使用类名访问 static 成员
因为static修饰的成员直接属于类,不属于对象,所以可以直接使用类名访问static成员。

类成员和实例成员的访问

类中的成员:字段、方法、内部类
类成员:使用static修饰的成员
实例成员:没有使用static修饰的成员

  类成员只能访问类成员,实例成员只能访问实例成员,类成员直接属于类,可以通过类来访问 static 字段和 static 方法

实例成员:

只属于对象,通过对象来访问非 static 字段和非 static 方法(对象其实可以访问类成员,但是底层依然使用类名访问的)

在 static 方法中,只能调用 static 成员
非 static 方法:可以调用静态成员,也可以调用实例成员

如果这个状态/行为属于整个事物(类),就直接使用 static 修饰,则该行为被所有对象所共享。

  在开发中,往往把工具方法使用 static 修饰,如果不使用 static 修饰,则这些方法属于该类的对象,我们得先创建对象再调用方法,而在开发中工具对象只需要一份即可,若不使用 static 修饰,可能会创建 N 个对象,使得系统内存占用增多,性能低下,此时的解决办法汪汪把该类设计为单例的,但依然麻烦,即:在一般开发中,设计工具方法时,为了调用简单,使用 static 修饰。

类成员的使用

利处:对对象的共享数据进行单独空间的存储,节省空间,没有必要每一个对象都存储一份,可以直接被类名调用
弊端:生命周期过长

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值