常量和变量
什么是常量
用final关键字修饰的字段就是常量一旦赋值其值不可修改
例:final int num=0;
什么是变量
普通的字段(属性)就是变量
例如:int num=0;
常量
成员常量
1.在类内部,方法体外部,构造器外部的常量叫成员常量
2.不支持先声明后赋值,要求声明时候赋值
3.支持通过构造器初始化常量值
class Test{
final int num;
public Test(){
num=1;
}
}
5.通过构造器初始化
4.支持通过静态代码块或者实例代码块({}没有static就是实例代码块)对其初始化,
前提是常量必须是静态的。
class Test{
static final int num;
static{
num=1;
}
}
局部常量
1.在方法体内部的常量都是局部常量
2.支持先声明再赋值使用前必须赋值
publicvoid show(){
final int num;//声明
num+=num;//使用报错未初始化值
num=1;//后赋值
System.out.println(num);//使用
}
3.在构造器和代码块中,都是局部变量
变量
成员变量
在类内部,方法体外部,构造器外部的变量叫成员变量
1.可以声明不赋值,类是引用类型,不赋值会有默认值。
局部变量
在方法体内部的变量都是局部变量
1.支持先声明再赋值使用前必须赋值
publicvoid show(){
int num;//声明
num+=num;//使用报错未初始化值
num=1;//后赋值
System.out.println(num);//使用
}
成员变量又分为类变量和实例变量
实例变量
例如:int num=0;
类变量
用static修饰的变量叫静态变量(类变量)