网站建设 表扬信,邯郸住房及城乡建设部网站,推广普通话资料内容,传奇网页游戏赤月一、变量Scope
作用域同时决定了它的“可见性”以及“存在时间”。在C#xff0c;C和Java里#xff0c;作用域是由花括号的位置决定的。变量的作用域分为四个级别#xff1a;类级、对象实例级、方法级、块级。 二、类级Scope
类级变量又称全局级变量或静态变量#xff0c…一、变量Scope
作用域同时决定了它的“可见性”以及“存在时间”。在CC和Java里作用域是由花括号的位置决定的。变量的作用域分为四个级别类级、对象实例级、方法级、块级。 二、类级Scope
类级变量又称全局级变量或静态变量需要使用static关键字修饰。类级变量在类定义后就已经存在占用内存空间可以通过类名来访问不需要实例化。 package testdemo;
/**** author MK*/
public class TestDemo {//类变量public static int classVariable;} 三、对象实例级Scope
对象实例级变量就是成员变量实例化后才会分配内存空间才能访问。 package testdemo;
/**** author MK*/
public class TestDemo {//实例变量public int instanceVariable;} 四、方法级Scope
方法级变量就是在方法内部定义的变量就是局部变量。 package testdemo;
/**** author MK*/
public class TestDemo {/*** 静态方法*/public static void staticMethod() {int localVariable0;}/*** 实例方法*/public void instanceMethod() {int localVariable0;}
} 五、块级Scope
块级变量就是定义在一个块内部的变量变量的生存周期就是这个块出了这个块就消失了比如 if、for、while 语句的块。块是指由大括号包围的代码。 package testdemo;/**** author MK*/
public class TestDemo {/*** 实例代码块*/{int localVariable 0;}/*** 静态代码块*/static {int localVariable 0;}/*** 静态方法*/public static void staticMethod() {{int localVariable 0;}}/*** 实例方法*/public void instanceMethod() {if (12 0) {int localVariable 0;}}
} 注意
1、正确 package testdemo;/**** author MK*/
public class TestDemo {int variable0;/*** 实例方法*/public void instanceMethod() {int variable 0;}
} 2、正确 package testdemo;/**** author MK*/
public class TestDemo {int variable0;/*** 实例方法*/public void instanceMethod() {{int variable 0;}}
} 3、错误两个局部变量作用域相交这与c/c的局部变量隐藏不一样 package testdemo;/**** author MK*/
public class TestDemo {int variable0;/*** 实例方法*/public void instanceMethod() {int variable 0;{int variable 0;//错误} }
} 4、正确 package testdemo;/**** author MK*/
public class TestDemo {int variable0;/*** 实例方法*/public void instanceMethod() {{int variable 0;} int variable 0;}
} 总结
1在同一作用域范围的包裹下成员变量名和局部变量名是可以变量名相同的。
2在同一个作用域范围的包裹下局部变量和局部变量不可以变量名相同作用域内不能重复命名。
3在方法中使用变量的时候如果不指明使用成员变量还是局部变量那么默认的就是使用局部的那个变量但是如果局部变量超出了它本身的作用域范围则会失效被JVM垃圾回收那么则可以重复命名此变量并使用最新定义的这个局部变量。