Java基础 -- 我是这么理解static关键字的(文末配讲解视频)

static是java里面的关键字,主要用来修饰属性和方法。打上static标记后,就是静态的,不需要new就可以访问。

假如一个方法没有用到this?

首先,我们写一个付钱方法。

void pay(){
    System.out.println(" paying...");
}

我们发现一个事情,就是这个方法里面没有调用任何属性,也没有出现this。

那么请问,上一节我们说this的意义是什么?

this的意义是,当我们在执行某个方法的时候,能够获取到那个对象的特殊数据。

那么,既然这个pay方法压根就不需要当前对象的数据,我们为什么还要传入this呢?注意,这个this是JVM帮你传的,你想不传都不行。

static的意义

像这种没有用到当前对象任何数据的方法,我们是不是希望直接就用,而不是非得先new一个对象再用?
嗯,肯定的,直接用就行了,反正不需要this,大家都觉得这样很有道理吧。那么既然如此,我们就可以给这种方法加一个static关键字。

static void pay(){
    System.out.println(" paying...");
}

被static修饰的方法,不需要实例对象就可以访问,可以直接用 类名.方法名 的形式去调用。

Customer.pay();

static 修饰成员变量

static还可以修饰成员变量,被static修饰的成员变量在类被加载的时候,是提前分配内存空间的,有点像“关系户”。哪怕这个类一个对象都没有new,它也是真实存在的。比如,我们给类添加一个版本号,默认是1.0,就这样写:

static String version = "1.0";

调用也是一样,直接用类名就可以了:

System.out.println(Customer.version);

被static修饰的成员变量,叫做静态属性,也叫做类属性,因为只和类相关嘛。

视频讲解:https://www.bilibili.com/video/BV1m44y1t7Tf/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

剽悍一小兔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值