发表于: 2017-03-10 22:03:15

1 1421


今天完成的事情:

学习static变量和方法,以及进行内存分析

明天计划的事情:

学习this隐式参数,继承。

收获:

1) static关键字

static是一个修饰符,用于修饰成员(成员变量和成员函数)。

特点:   想要实现对象中的共性数据的对象共享,可以将这个数据进行静态修饰;

             被静态修饰的成员,可以直接被类名所调用。也就是说,静态的成员多了一种调用方    

              式:类名.静态方式;

             静态随着类的加载而加载,而且优先于对象存在。

2) 举例说明:

   内存分析:

3) 成员变量和类变量的区别

   1、两个变量的生命周期不同

      成员变量随着对象的创建而存在,随着对象的回收而释放。

      静态变量随着类的加载而存在,随着类的消失而消失。

   2、调用方式不同

      成员变量只能被对象调用。

      静态变量可以被对象调用,还可以被类名调用。

   3、别名不同

      成员变量也称为实例变量。

      静态变量也称为类变量。

   4、数据存储位置不同

      成员变量存储在堆内存的对象中,所以也叫对象的特有数据。

      静态变量数据存储在方法区共享数据区)的静态区,所以也叫对象的共享数据。

             

4) 成员变量和局部变量的区别

   成员变量

          1、成员变量定义在类中,在整个类中都可以被访问。

          2、成员变量随着对象的建立而建立,随着对象的消失而消失,存在于对象所在的堆内存中。

          3、成员变量有默认初始化值。

   局部变量:

          1、局部变量只定义在局部范围内,如:函数内,语句内等,只在所属的区域有效。

          2、局部变量存在于栈内存中,作用的范围结束,变量空间会自动释放。

          3、局部变量没有默认初始化值 



返回列表 返回列表
评论

    分享到