黑马程序员技术交流社区

标题: 静态与非静态的区别 [打印本页]

作者: dajiaoya    时间: 2015-7-3 14:05
标题: 静态与非静态的区别
类中的成员
  static修饰静态成员
  没有static修饰的非静态成员

静态修饰类变量和非静态成员,实例变量的区别是什么

从内存上看
  静态成员跟随类进入方法区中的静态去,优先于对象加载
  非静态成员 跟随对象的加载进入到堆内存

从所属上看
  静态成员只属于自己的类
  非静态成员属于对象

从调用方式上看
  静态成员可以被类名直接调用,也可以被对象调用(不推荐)
  非静态成员只能被对象调用

从生命周期
  静态成员跟随类的加载而加载,跟随类的消失而消失,生命最长
  非静态成员跟随对象的加载而加载,跟随对象的消失而消失,生命相对较短
使用方式
  静态成员是所有对象的共享数据
  非静态成员是对象自己的特有数据
静态static修饰,应用场景
  静态成员变量
  静态成员方法
静态成员变量:依据需要,具体分析,如果发现实现的功能中有对象的共享数据
静态方法:定义方法的时候,方法中有没有访问过静态成员,如果有请你写静态
  如果你定义的方法中,访问过非静态的成员变量,这个方法也只能非静态
  方法中从来没有访问过任何成员变量,定义成静态方法






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2