根据变量声明的位置,变量可以分为实例变量和局部变量。实例变量又叫做全局变量
实例变量及作用范围
在类的{}内直接定义的变量,称为全局变量。
作用范围:整个类中都可以使用
实例变量在创建对象时会自动初始化,并有初始值(默认值)
byte/short/int:0
long:0L
float:0.0f
double:0.0
boolean:false
引用类型:null
局部变量及作用范围
在方法中或代码块{}中定义的变量,称之为局部变量。
作用范围:直接包含它的{}内有效
局部变量不会自动初始化,没有默认值,使用之前必须要初始化。
final
final修饰变量、方法、类
l 如果final修饰变量,变量就是常量,常量不可修改,定义时必须初始化
l 如果final修饰方法,方法就不能被子类重写
l 如果final修饰类,类就不能再被扩展,不能再有子类。Java类库中的String、Math就是final类。
引用类型的常量
如果常量是基本数据类型,不可以再修改。
如果常量是引用类型,不能再将其他对象赋给该引用,但可以使用该引用改变对象内部的属性。
例如
final Student s = new Student(“zhangsan”,20);
s = new Student(“李四”,20); //错误
s.setName(“李四”); //可以 正确