java局部变量和全局变量的区别
2个回答
2016-09-24
展开全部
只有方法变量、类变量,没有全局变量
————————————————
————————————————
展开全部
全局变量就是这个类的对象都可以访问的属性,局部变量就是某个方法内部临时定义的变量,当方法调用结束后,据不变量自然销毁。而全局变量只有在这个类的对象销毁时才会伴随销毁,如果相很多对象共享一个类的某个属性就用全局变量。
例如:
public class Test001 {
8. static int a = 27;//全局变量
9. static void test() {
10. boolean flag = false;// flag是局部变量,他的有效范围市整个方法体
11. if (!flag) {
12. int a = 20;// 局部变量a,是必须进行初始化的且只在if块中有效
13. System.out.println("a1=" + a);
14. }
15. // a = 10;// 注意,这一行是会报编译错误:未声明变量a
16. }
17. /**
18. * @param args
19. */
20. public static void main(String[] args) {
21. System.out.println("a2=" + a);
22. int a = 23;//局部变量a
23. test();
24. System.out.println("a3=" + a);
25. }
结果为:
a2=27
a1=20
a3=23
注意:
1,对于局部变量要先赋值后使用
2,局部变量局部有效,在定义这个变量的代码块也就是在“{}”中有效
3,在重合的有效范围内,不允许两个局部变量发生命名冲突。
例如:
public class Test001 {
8. static int a = 27;//全局变量
9. static void test() {
10. boolean flag = false;// flag是局部变量,他的有效范围市整个方法体
11. if (!flag) {
12. int a = 20;// 局部变量a,是必须进行初始化的且只在if块中有效
13. System.out.println("a1=" + a);
14. }
15. // a = 10;// 注意,这一行是会报编译错误:未声明变量a
16. }
17. /**
18. * @param args
19. */
20. public static void main(String[] args) {
21. System.out.println("a2=" + a);
22. int a = 23;//局部变量a
23. test();
24. System.out.println("a3=" + a);
25. }
结果为:
a2=27
a1=20
a3=23
注意:
1,对于局部变量要先赋值后使用
2,局部变量局部有效,在定义这个变量的代码块也就是在“{}”中有效
3,在重合的有效范围内,不允许两个局部变量发生命名冲突。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询