变量
1. 分类:
局部变量:类的方法中的变量(main和定义的方法)
- 局部变量在方法、构造方法、或者语句块被执行的时候创建,当它们执行完成后,变量将会被销毁;
- 访问修饰符不能用于局部变量;
- 局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用;
- 局部变量是在栈上分配的。
类变量:独立于方法之外的变量,用 static 修饰(属于类的变量)
- 类变量也称为静态变量,在类中以 static 关键字声明,但必须在方法之外;
- 无论一个类创建了多少个对象,类只拥有类变量的一份拷贝;
- 静态变量在第一次被访问时创建,在程序结束时销毁;
- 静态变量除了被声明为常量外很少使用。常量是指声明为public/private,final和static类型的变量;
- 静态变量储存在静态存储区。经常被声明为常量,很少单独使用static声明变量(常量初始化后不可改变);
- 静态变量可以通过:ClassName.VariableName的方式访问(注意和实例变量区分)。
实例变量:独立于方法之外的变量,不过没有 static 修饰(属于类实例化后产生的对象的变量)
- 实例变量可以直接通过变量名访问。
但在静态方法以及其他类中,就应该使用完全限定名ObejectReference.VariableName;- 实例变量对于类中的方法、构造方法或者语句块是可见的。
一般情况下应该把实例变量设为私有,通过使用共有的get、set方法对变量进行操作;- 实例变量在对象创建的时候创建,在对象被销毁的时候销毁。
2. 注意:
- 变量本质上是程序员跟JVM申请的一块内存空间(用来临时存放数据)。
- 变量在申请前要声明数据类型。
- 变量在使用前要拥有值。(空指针异常)
- 变量常和运算符一起使用。