A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wingtheu 中级黑马   /  2014-11-5 14:08  /  1009 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

static关键字
  • 静态的意思。可以修饰类的成员(成员变量和成员方法);
静态的内存图及特点
  • 看图说话
  • A:随着类的加载而加载,生命周期最长。
  • B:优先于对象存在。
  • C:被所有的对象所共享。
  • D:比非静态成员多了一种访问方式。可以通过类名直接调用。建议用类名.调用
什么时候使用static
  • 当类中的成员需要被所有对象共享时,用static修饰。不需要被共享时,就不用static修饰。
  • 简单说:共性用static修饰,特性不用static修饰。
类变量(静态变量)和实例变量(非静态的成员变量)的区别
  • (1)存在内存中的位置:
    • (类变量)静态变量随着类的加载而存在于方法区中。
    • 实例变量随着对象的建立而存在于堆内存中。
  • (2)生命周期:
    • 静态变量的生命周期最长,随着类的消失而消失。
    • 实例变量的生命周期随着对象的消失而消失。
  • (3)所属不同:
    • 静态变量也称之为类变量,所属于整个类,被整个类的对象所共享。
    • 实例变量是对象的特有数据,所属于对象。
  • 举例:定义一个非静态的属性,和一个静态属性,再定义一个静态方法和非静态方法对属性进行输出

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马