成员变量与局部变量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了成员变量与局部变量相关的知识,希望对你有一定的参考价值。

  初始值 作用域 优先级
成员变量 java会给成员变量一个初始值 受访问控制修饰符影响作用域不同 成员变量与局部变量同名时,优先使用局部变量
局部变量 java不会给局部变量赋初始值 方法内,代码块作用域

初始值比较:

技术分享
 1 public class Var {
 2     private static int var1;// 成员变量
 3 
 4     public void method() {
 5         int var2;// 局部变量
 6         System.out.println(var1);// 编译通过,成员变量初始值
 7         // System.out.println(var2);
 8                 //无法通过编译,局部变量没有给定值需要赋值才能调用
 9     }
10 }
初始值比较

作用域比较:访问控制修饰符详解

技术分享
 1 public class Var {
 2     private static int var1;// 成员变量,作用域受访问控制修饰符影响
 3 
 4     public void method1() {
 5         int m = 0;// m的作用域为method1这个方法中
 6         for (int i = 0; i < 10; i++) {
 7             // i的作用域为for循环代码块中
 8             System.out.println(m + " " + i);// 编译通过
 9         }
10         // System.out.println(m + " " + i);
11         // 不能通过编译,超出i的 作用域
12     }
13 }
作用域比较

优先级比较:

技术分享
1 public class Var {
2     private static int var;
3     public Var(int var) {
4         System.out.println(var);
5                 // 输出的值为参数var的值而不是成员变量var
6         // 调用成员变量使用this关键字
7         this.var = var;
8     }
9 }
优先级比较

 

以上是关于成员变量与局部变量的主要内容,如果未能解决你的问题,请参考以下文章

成员变量与局部变量

成员变量与局部变量

4Java中成员变量与局部变量

java成员变量与局部变量修饰符的区别

成员变量与局部变量的区别

java--成员变量与局部变量的区别