变量:
1.局部变量
声明在方法、构造方法或者语句块中
在方法、构造方法或者语句块执行时被创建,执行完成后被销毁
没有默认值,必须先初始化后使用
访问修饰符不能用于局部变量
在栈上分配内存
只在声明它的方法、构造方法或者语句块中可见。
?理解:作用域在它声明处的大括号内,在声明的时候必须赋值。
2.实例变量
声明在类中,但在方法、构造方法、语句块之外
当一个对象被实例化之后,每个实例变量的值也跟着确定了
实例变量在对象被创建时创建,在对象被销毁时销毁
实例变量至少要被一个方法、构造方法或者语句块引用,使得外部能通过这些方式来获取实例变量信息
实例变量可以使用在声明前或声明后
访问修饰符可以修饰实例变量
实例变量对类中的方法、构造方法或者语句块时可见的。一般情况下把实例变量设为私有。
实例变量有默认值。它的值也可在声明时指定,也可在声明方法中指定
实例变量可以通过变量名访问,但在静态方法或者其他类中需要对象.实例变量名访问。
?理解:声明在类的那个大括号下(不能有其他的大括号哦),先用着再声明也行,使用时本类中随便用(除开静态方法)其他类或者静态方法中访问要使用对象.实例变量名。
3.类变量(静态变量)
和成员变量定义的位置一样,用static声明
无论创建了多少个对象 类只拥有类变量的一份拷贝
静态变量除了被声明为常量外很少使用。常量是由public/private final static 数据类型 变量名。常量初始化后不可改变。
储存在静态储存区
在程序开始时创建,在程序结束时销毁。
与实例变量具有相同的可见性,但为了类的使用者可见,大多数静态变量声明为public类型
也有默认初始值
静态变量可通过类名.变量名的方式访问
?:理解:静态变量与类(包括它的值)同在。