发表于: 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、局部变量没有默认初始化值
评论