static关键字

被static关键字修饰的成员具有以下特点:

           1、随着类的加载而加载;

           2、被所有对象所共享;

           3、优先于对象存在;

           4、可以直接通过类名来调用。

static用于修饰成员(成员变量和成员方法),也可以形成静态代码块。

        1、静态成员变量

           用static修饰的变量称之为静态成员变量,而没有用static修饰的称之为实例变量。

        静态变量与实例变量的区别:

         a、存放位置:

              静态变量随着类的加载而存在于方法区中;

              实例变量随着对象的建立而存在于堆内存中。

         b、生命周期:

              静态变量的生命周期最长,随着类的加载而加载,随着类的消失而消失。

              实例变量的生命周期随着对象的建立而加载,随着对象的消失而消失。

        2、静态成员方法

                   静态的方法可以直接被类调用,也可以通过创建对象来调用。

            静态方法只能访问静态成员变量,静态方法优先于对象存在所以静态方法中不能使用this,super关键字。

            如果为了方便方法直接被类调用,可以方法定义成静态。

            静态方法是类内部的一类特殊方法,只有在需要时才将对应的方法声明成静态的,

             一个类内部的方法一般都是非静态的。

  

 

            3、静态代码块

                    随着类的加载而加载,而且只执行一次,优先于主函数,用于给类进行初始化。

  运行结果:lao
                    lao::25
                    lao2::25

 

 

 什么时候使用static关键字

           1、当对象中出现共享数据时

        2、对象中的特有数据要定义成非静态存在于堆内存中

        3、当功能内部没有访问到非静态数据时

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值