類中的變量作用域:
一补疑、成員變量
概念:
在一個類中闰歪,方法之外定義的變量稱為成員變量
性質(zhì):
1.變量作用域為整個類脚囊,類中的方法可以直接調(diào)用這個變量
2.java會給成員變量賦一個初始值
例:
public class Class3 {
int a;// 定義一個成員變量
void b() {
System.out.println("我引用了成員變量a:" + a);// 方法可以直接引用成員變量
}
public static void main(String[] args) {
Class3 text = new Class3();// 創(chuàng)建對象
text.b();// 調(diào)用類中的方法b();
System.out.println("輸出成員變量a:" + text.a);// 成員變量可以被Main函數(shù)調(diào)用
}
}
運行結(jié)果:
我引用了成員變量a:0
輸出成員變量a:0
二共缕、局部變量
概念:
在類的方法中定義的變量稱為局部變量
性質(zhì):
1.局部變量的作用域僅限于定義它方法
2.局部變量不會自動賦初始值
3.同一個類中的變量名不能同名徐紧,不同類中的變量名可以相同熟呛。因為局部變量的作用域僅限于定義它的類中宽档,所以互不干擾。
4.當(dāng)局部變量和成員變量同名時庵朝,局部變量具有更高的優(yōu)先級
例:
public class Class4 {
int n = 2;
void a() {
int a1 = 0;// 定義局部變量b并賦初始值
System.out.println("方法a引用局部變量a1:" + a1);
}
void b() {
int a1 = 1;// 定義局部變量a1,變量的名字和a方法中的局部變量相同吗冤。
System.out.println("方法b引用局部變量a1:" + a1);
}
void c() {
int n = 3;// 局部變量名與成員變量名相同,優(yōu)先局部變量
System.out.println("方法c引用局部變量n:" + n);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Class4 text = new Class4();
text.a();// 調(diào)用a方法
text.b();
text.c();
}
}
運行結(jié)果:
方法a引用局部變量a1:0
方法b引用局部變量a1:1
方法c引用局部變量n:3