黑马程序员技术交流社区
标题:
stactic关键字
[打印本页]
作者:
wingtheu
时间:
2014-11-5 14:08
标题:
stactic关键字
static关键字
静态的意思。可以修饰类的成员(成员变量和成员方法);
静态的内存图及特点
看图说话
A:随着类的加载而加载,生命周期最长。
B:优先于对象存在。
C:被所有的对象所共享。
D:比非静态成员多了一种访问方式。可以通过类名直接调用。建议用类名.调用
什么时候使用static
当类中的成员需要被所有对象共享时,用static修饰。不需要被共享时,就不用static修饰。
简单说:共性用static修饰,特性不用static修饰。
类变量(静态变量)和实例变量(非静态的成员变量)的区别
(1)存在内存中的位置:
(类变量)静态变量随着类的加载而存在于方法区中。
实例变量随着对象的建立而存在于堆内存中。
(2)生命周期:
静态变量的生命周期最长,随着类的消失而消失。
实例变量的生命周期随着对象的消失而消失。
(3)所属不同:
静态变量也称之为类变量,所属于整个类,被整个类的对象所共享。
实例变量是对象的特有数据,所属于对象。
举例:定义一个非静态的属性,和一个静态属性,再定义一个静态方法和非静态方法对属性进行输出
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2