变量按作用域分类
局部变量:方法和语句块内部定义的变量(浅空间,当方法或语句块一结束,局部变量空间马上释放)
——成员变量(属性):方法外部,类的类部定义的变量(堆空间,随对象产生而产生,随对象销毁而销毁
——类变量(静态变量):加上关键字“static”(数据段长驻内存,创建好之后,不会消失)
成员变量和静态的区别:
1.成员变量是包含在对象之中的,是对象的特征,而静态变量独立在对象之外,每个对象都有成员变量,而且一个对象成员的变化,不会影响别的对象,但静态变量是所有对象共享的变量,它的变化会引起所有对象的变化
2.成员变量随着对象产生而产生,随对象销毁而销毁。而静态变量加载的时机在对象之前。长驻内存,除非虚拟机关闭,否者不会销毁
3.对成员变量的访问,通过对象(。)的方式。对静态变量访问,可以通过对象(。),或类名(。)的方式访问
如果一个类声明时,加上public,类名和文件名必须一致,该类可以挎包使用,如果一个类声明时,采用默认修饰符,类名和文件名可以不一致,但不能挎包使用
使用包的好处:1.可以组织相关类2.可以做到信息隐藏
反是修饰了static的东西,加载时机都在对象之前,正因为如此,静态方法不能直接访问成员变量