[#0x0000] static

1. static member/field/function

 

  每new一个object即相当于申请了一块内存,用来存放这个object的member/field/function。两个object的member/field不尽相同,同时也许因为如此,导致两个object的function不尽相同,从而这两个object要占据两块内存,而且它们之间没有共享member/field/function。
  如果有field/member/function只与class有关,即不会在不同的object中有不同的值或操作,亦即在所有的object中表现都一样,可以将其设置为static。可以将static member/field/function理解为归class所有,即存在于class的内存块中,而不是在object的内存块中。
  在调用时,可以直接使用class.staticMember/staticField/staticFunction,当然,用object.staticMember/staticField/staticFunction也行,但这样无法体现member/field/function的static性。

2. static import

 

  精确导入方式:

import static pkg.class/interface.staticMember;

  import最后只用写出成员名,就算是function,也不用写出括号或是参数列表。  
  

  模糊导入方式:

import static pkg.class/interface.*;

  这样可以将class/interface中的staticMember静态导入,在后面的代码中就不用写class/interface.staticMember这么麻烦,直接写staticMember了事。如果是field就直接写staticField,不用写class/interface.staticField;如果是function就直接写staticFunction(),不用写class/interface.staticFunction()。例如:

import static java.lang.System.out;

之后就可以直接写out.println(),不用写System.out.println()。注意,这里out才是static member,println是out的方法,且不是static,所以不能直接写println()。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值