变量的作用域
按照作用域划分,变量可分为成员变量和局部变量
成员变量
**定义:**类体中定义的变量
**作用域:**整个类
public class Demo{
static int i=55;
public static void main(String[]args){
System.out.println(i);
}
}
***注意:***当成员变量(类变量)需要在不调用类的情况下直接在本类方法中直接使用时,需要在定义语句前加上修饰符static
***原因:***当变量作为成员变量存在时,在生成之后系统会自动赋予一个默认值,但局部变量则不行,需要初始化
成员变量的默认值
int型:0
double型0.0
float型0.0f
boolean型:false
String型:null
char型:null
局部变量
**定义:**在一个方法或者方法块中定义的变量
**作用域:**所属括号里
***注意:***局部变量系统不会给出默认值,所以需要在手动的初始化之后才能够使用和输出,并且在一组花括号中定义的变量只能在花括号之内使用
关于嵌套
在Java中,类与方法之间作用域是可以嵌套的,可以把整个类看做一个大的作用域,它定义的字段(或称数据成员)可被方法中的同名字段所屏蔽
【例】
public class demo3 {
static int i=52;
public static void main(String[] args) {
int i=22;
System.out.println(i);
}
}
我们先定义一个成员变量名为i,再在主方法中定义一个同名的i,前者赋值为52,后者赋值为22,运行结果如下: