static关键字的作用_沉浸在在代码世界的小小程序猿_新浪博客

定义:
  ①被static修饰的变量属于类变量,可以通过类名.变量名直接引用,而不需要new出一个类来
  ②被static修饰的方法属于类方法,可以通过类名.方法名直接引用,而不需要new出一个类来
  ③被static修饰的变量、方法统一属于类的静态资源,是类实例之间共享的。

    把不同的静态资源放在了不同的类中而不把所有静态资源放在一个类里面的三个好处:
    1、不同的类有自己的静态资源,这可以实现静态资源分类。
    2、避免重名。
    3、避免静态资源类无限膨胀

static引出的三个问题以及解答:
1、静态方法能不能引用非静态资源?
  不能,new的时候才会产生的东西,对于初始化后就存在的静态资源来说,根本不认识它。
2、静态方法里面能不能引用静态资源?
  可以,因为都是类初始化的时候加载的,大家相互都认识。
3、非静态方法里面能不能引用静态资源?
  可以,非静态方法就是实例方法,那是new之后才产生的,那么属于类的内容它都认识。

静态块也是static关键字中一个重要应用:
静态块里面的代码只执行一次,而且只在初始化类的时候执行,一定要注意三点:
      1.静态资源的加载顺序是严格按照静态资源的定义顺序来加载的。
      2.静态代码块对于定义在它之后的静态变量,可以赋值,但是不能访问。
      3.静态代码块是严格按照父类静态代码块->子类静态代码块的顺序加载的,且只加载一次。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值