全局变量和局部变量

来源:互联网 发布:网络翻译招聘 编辑:程序博客网 时间:2024/06/04 20:07

在JAVA中

成员变量也叫属性即全局变量。

全局变量和局部变量的作用域是不同的,作用域决定了变量的使用范围。

区别  

作用域:

在一个类里面,成员变量是定义在类里面的,可以定义在类里面的上方,也可以定义在类里的下方,它作用在这个类里面,它可以被类里面的方法调用。

局部变量只能在定义变量的方法里面使用。


初始值:

成员变量:会有一个初始值,String类型的初始值是null;int等类型的初始值是0;

局部变量:局部变量没有初始值;

public class Test {
public int a;
public String c;
public void test1(){
int b=1;
System.out.println(b);
System.out.println(a);
System.out.println(c);
}
public static void main(String[] args) {
Test te=new Test();
te.test1();
}
}


在上面这段代码中 结果为 1 ;0; null

b如果没有赋值是不允许操作的

——————————————————————————————————————————————————————————————————

变量和方法之间是不同级的,然而变量和变量之间是同级的,写在前面的变量是不可以使用后面的代码

       public int a=b;
public int b=1;

像这样的代码是错误,编译器也会报错。


那在同一个类里面可以出现两个变量同名的情况吗?

答案是  可以!

要是在类里面,出现了两个同名的变量,它们只能一个是全局变量另一个是局部变量

在方法里面直接可以操作的变量是那个局部变量,如果想操作那个同名的全局变量就需要用到关键字this

public class Test {
public int a;

public void test1(){
int a=1;
System.out.println(a);
System.out.println(this.a);
}
public static void main(String[] args) {
Test te=new Test();
te.test1();
}
}

在这个代码中全局变量和局部变量都定义了一个 a ,所以输出结果为  1  和  0 。 

原创粉丝点击