您的位置:首页 > 职场人生

黑马程序员——static关键字

2015-07-02 22:14 381 查看

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

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

           2、被所有对象所共享;

           3、优先于对象存在;

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

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

        1、静态成员变量

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

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

         a、存放位置:

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

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

         b、生命周期:

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

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



        2、静态成员方法

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

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

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

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

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

  


 

            3、静态代码块

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



  运行结果:lao

                    lao::25

                    lao2::25

 

 

 什么时候使用static关键字

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

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

        3、当功能内部没有访问到非静态数据时
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: