基础关键字之static

static关键字

  • static就是没有this的方法
  • 可以在没有创建任何对象的前提下,仅通过类本身来调用
  • 很像全局方法,但是Java中禁止全局方法

静态代码块

public class 类名称{
static{
       //静态代码块内容
   }
}

特点

当第一次用到本类时,静态代码块执行唯一的一次

静态代码块执行时机:

静态代码块在类被加载的时候就运行了,而且只运行一次,并且优先于各种代码块以及构造函数。如果一个类中有多个静态代码块,会按照书写顺序依次执行。后面在比较的时候会通过具体实例来证明。

构造代码块:

构造代码块在创建对象时被调用,每次创建对象(依赖于构造函数,不实例化对象,不会执行)都会调用一次,但是优先于构造函数执行。

静态变量

如果想让一个类的所有对象共享数据,就要使用静态变量,也叫类变量。

静态方法

静态部分是依赖于类,而不是依赖于对象存在的,所以静态部分的加载优先于对象存在

  • 静态方法只能访问静态变量

  • 静态不能直接访问非静态【重点 & 注意】原因:在内存当中,【先有】静态内容,【后有】非静态内容

  • 静态方法不可以使用this关键字

  • 成员方法可以访问成员变量

  • 成员方法可以访问静态变量

调用方法

​ 无论是成员变量还是方法。如果有了static,都推荐用类名来调用它

静态变量:类名称.静态变量

静态方法:类名称.静态方法()

如何判断一个变量或者方法应该是实例还是静态的?

如果一个变量或方法依赖于类的某个实例,那就因该将它定义为实例变量或实例方法。

反之,定义为静态变量或静态方法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值