Java:static关键字

1.static意思为"静态的",

        被static修饰的变量叫做静态变量,

        被static修饰的方法叫做静态方法

2.静态变量和静态方法是类级别的,通过 类名. 来进行调用

        在我们写代码时,虽然写 引用.静态变量名 或者 引用.静态方法名 程序也能够正常运行,但实际上运行和对象无关,编译器会把 引用. 替换成 类名. 所以哪怕引用的值是null,程序依然正常运行。但使用 引用. 会让别人迷糊,分不清是实例数据还是静态数据了。

(如果我们把引用的值改为null,再运行一次,会发现程序依然能够成功运行,因此更能体现 引用. 在调用静态相关的数据时没有用)

3.静态代码块

        静态代码块的写法是:

                static{

                        java语句; 

                        java语句;      

                }

        静态代码块在类中,可以有多个,它在类加载时执行,在main方法执行之前执行,并且每个静态代码块只执行一次,如果编写了多个静态代码块,它按照自上而下的顺序去执行,

        静态变量和静态方法也在类加载时执行,要注意静态数据和静态代码块一起按照自上而下的顺序执行

4.静态变量存储在方法区(按JVM规范来讲)

5.什么时候使用静态变量,好处是什么?

当一个类创建出的所有对象都具有某一个相同的属性,这时候我们可以使用静态变量。

例如有一个中国人类,那国籍都是中国,这时候就可以把国籍这个属性定义为静态变量,并赋值成中国,这样的好处是节省内存

如果是实例变量的话,我们每new一个对象,国籍这个属性都会占一块空间,100个对象,就是100块空间

如果是静态变量的话,它只占一块空间,被放到堆内存当中

(这只是一个使用案例,还有其他的用法)

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

梅清琳

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

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

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

打赏作者

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

抵扣说明:

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

余额充值