Java菜鸟学习笔记--面向对象篇(八):成员变量和局部变量
变量分类
成员变量
- 实例变量的访问:示例.示例变量
- 类变量的访问:类.类变量 或者 实例.类变量
成员变量
- 形参作用域:方法内,形参的初始化就是实参传副本给形参的时候!
- 方法局部变量作用域:方法体内
- 代码块作用域:代码块至结束
原则
1.局部变量除了形参,都要显示初始化
public class Test{ public static void main(){ //方法体内局部变量不初始化会怎么样? int a; System.out.println("未初始化的a= "+a); /*输出: Test.java:7: error: variable a might not have been initialized System.out.println("未初始化的a= "+a); ^ 1 error *///必须显示的初始化 } }
2.方法局部变量的作用域在方法外无效
public class Test{ public static void main(String[] args){ //方法体外能显示这个局部变量吗? int a=5; System.out.println("方法体内 a= "+a); } System.out.println("a"); /* 输出: <identifier> expected *///错误,不能在直接在类里面写可执行语句 }
public class Test{ public static void main(String[] args){ { //代码块外能显示这个局部变量吗? int a=5; System.out.println("方法体内 a= "+a); } System.out.println(a); /*输出: Test.java:10: error: cannot find symbol *///在代码块外不能找到变量 } }
3.方法体内,局部变量比成员变量牛~
作者:YangGan
出处:http://blog.****.net/incyanggan
本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名Yanggan(包含链接).