`
incyanggan
  • 浏览: 32425 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

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.csdn.net/incyanggan
本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名Yanggan(包含链接).


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics