- 浏览: 1475733 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (798)
- struts2 (42)
- servlet (20)
- quartz (4)
- jquery & ajax (24)
- tomcat (5)
- javascript (15)
- struts1 (8)
- 搜索关键字及链接 (3)
- fckeditor (3)
- Apache (5)
- spring (22)
- linux (3)
- 企业应用 (8)
- 综合应用 (13)
- 服务器 (2)
- 数据库 (85)
- 性能调优 (21)
- 网络应用 (15)
- 缓存技术 (8)
- 设计模式 (39)
- 面试题 (7)
- 程序人生&前辈程序员 (29)
- java基础 (59)
- hibernate (75)
- log4j (4)
- http (11)
- 架构设计 (28)
- 网页设计 (12)
- java邮件 (4)
- 相关工具 (11)
- ognl (7)
- 工作笔记 (18)
- 知识面扩展 (12)
- oracle异常 (1)
- 正则表达式 (2)
- java异常 (5)
- 项目实践&管理 (1)
- 专业术语 (11)
- 网站参考 (1)
- 论坛话题 (2)
- web应用 (11)
- cxf&webservice (22)
- freemarker (3)
- 开源项目 (9)
- eos (1)
- ibatis (6)
- 自定义标签 (3)
- jsp (3)
- 内部非公开文档(注意:保存为草稿) (0)
- 国内外知名企业 (2)
- 网店 (3)
- 分页 (1)
- 消费者习惯 (2)
- 每日关注 (1)
- 商业信息 (18)
- 关注商业网站 (1)
- 生活常识 (3)
- 新闻 (2)
- xml&JSON (5)
- solaris (1)
- apache.common (3)
- BLOB/CLOB (1)
- lucene (2)
- JMS (14)
- 社会进程 (8)
- SSH扩展 (2)
- 消费心理 (1)
- 珠三角 (1)
- 设计文档 (1)
- XWork&webwork (1)
- 软件工程 (3)
- 数据库及链接 (1)
- RMI (2)
- 国内外知名企业&人物 (1)
最新评论
-
司c马:
简介易懂、
OutputStream和InputStream的区别 -
在世界的中心呼喚愛:
解决我的问题
Java获取客户端的真实IP地址 -
bo_hai:
都是些基本的概念呀!
SSO -
tian_4238:
哥们,你也是搞水利这块的吧。
巧用SQLQuery中的addScalar -
loveEVERYday:
java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp小结
摘要: 变量的有效范围是指程序代码能够访问该变量的区域,若超出该区域访问变量,则编译时会出现错误。有效范围决定了变量的生命周期,变量的生命周期是指从声明一个变量并分配内存
变量的有效范围
变量的有效范围是指程序代码能够访问该变量的区域,若超出该区域访问变量,则编译时会出现错误。有效范围决定了变量的生命周期,变量的生命周期是指从声明一个变量并分配内存空间开始,到释放该变量并清除所占用的内存空间结束。进行变量声明的位置,决定了变量的有效范围,根据有效范围的不同,可以将变量分为以下两种。
成员变量:在类中声明,在整个类中有效。
局部变量:在方法内或方法内的某代码块(方法内部,“{”与“}”之间的代码)中声明的变量。在代码块声明的变量,只在当前代码块中有效;在代码块外、方法内声明的变量在整个方法内都有效。
1.成员变量
类的成员变量又可分为两种:静态变量和实例变量。静态变量是指通过static关键字进行修饰的成员变量,没有被static关键字修饰的变量为实例变量。它们的区别如下。
静态变量的有效范围是整个类,并且可以被类的所有实例共享。可以通过“类名.变量名”的方式来访问静态变量。静态变量的生命周期取决于类的生命周期,当类被加载时,为类中的静态变量分配内存空间,当卸载类时,释放静态变量占用的空间,静态变量被销毁。类加载时,就为静态变量分配内了存空间,之后无论创建了多少类的实例,都不会再为静态变量分配内存空间,这些实例会使用同一个静态变量。
实例变量与类的实例对应,它的有效范围是整个实例。每创建一个类的实例,都会为当前实例分配实例变量的内存空间。所以实例变量的生命周期取决于实例的生命周期,实例被创建时,为实例变量分配内存空间,当销毁实例时,释放实例变量占用的内存空间。
2.局部变量
在类的方法中声明的变量,包括方法的参数,都属于局部变量,它们只在当前的方法内有效,不能用于类的其他方法中。在方法的代码块中声明的变量也是局部变量,但它只在该代码块内有效。
局部变量的生命周期取决于方法,当方法被调用时,Java虚拟机为方法中的局部变量分配内存空间,当方法的调用结束后,则释放该方法中局部变量占用的内存空间,局部变量被销毁。
可以声明一个与成员变量同名称的局部变量,此时在方法中访问该变量,针对的是方法中的局部变量;否则若没有在方法中声明与成员变量同名称的局部变量,在方法中访问该变量时针对的是成员变量。
在声明及访问局部变量时,需要注意以下两点。
在声明时,不能使用public、protected、private和static关键字对局部变量进行修饰。
不能通过类名或引用变量来访问局部变量。
发表评论
-
ISO-8859_1统一编码 java
2011-08-19 11:07 1967Java中文问题一直困扰着很多初学者,如果了解了Java系统的 ... -
UTF-8 GBK UTF8 GB2312
2011-08-19 10:46 1890UTF-8:Unicode TransformationFor ... -
Properties 类读取配置文件
2011-08-17 22:37 14411、使用java.util.Properties类的load( ... -
Java编程之四大名著
2011-08-06 10:07 1423中文第四版 http://download.csdn.n ... -
JDK5.0 新特性
2011-07-28 20:02 13461.AutoBoxing 原来int是非 ... -
JDK6的新特性
2011-07-28 19:57 1748JDK6的新特性 JDK6的新特性之一_Desktop类和Sy ... -
线程同步
2011-07-25 11:34 1242作者 : buaawhl http://www.iteye.c ... -
ZipInputStream类
2011-07-22 11:33 18719《Java开发实战经典》第12章Java IO,Java ... -
String、StringBuffer和StringBuilder的区别
2011-07-14 15:04 1327String是不可变的,StringBuffer是可变的;St ... -
精通JAVA核心技术
2011-07-11 11:31 1241http://www.2cto.com/ebook/20100 ... -
Java多线程sleep(),join(),interrupt(),wait(),notify()
2011-07-06 22:51 4868浅析 Java Thread.join() 一、在研究j ... -
FileInputStream/FileOutputStream的应用
2011-07-06 15:06 1378这是一对继承于InputStream和OutputStream ... -
Java基础之理解JNI原理
2011-07-05 14:55 1282JNI是JAVA标准平台中的一个重要功能,它弥补了JAVA ... -
面向对象和面向过程的区别
2011-07-04 09:52 1378面向过程就是分析出解 ... -
Java参数传值还是传引用
2011-07-03 20:52 3601参数是按值而不是按 ... -
JAVA排序汇总
2011-06-29 18:07 1422package com.softeem.jbs.lesson4 ... -
Java流操作,InputStream、OutputStream及子类FileInputStream、FileOutputStream;BufferedInpu
2011-06-27 18:09 19203Java将数据于目的地及来 ... -
线程综合文章
2011-06-27 10:48 1085http://lavasoft.blog.51cto.com/ ... -
由Java中的Set,List,Map引出的排序技巧
2011-06-24 14:18 2344一。关于概念: ... -
Date、String、Timestamp之间的转换
2011-03-20 16:59 2382public static Timestamp pars ...
相关推荐
变量的作用域 目录 ...作用域:全局变量的有效范围为整个类中。 public class Test{ int x = 1 ; //全局变量 x public static void method1( double n ) { //局部变量 n String s ; //局部变量 s for
variableScopeExample.java 变量使用范围示例 第3章 示例描述:本章学习对象和类。 accessMember.java 访问成员变量示例 constructNoPara.java 无参数的构造方法 constructWithPara.java 带参数的构造方法 ...
java核心面试题汇总,包含问题和答案!! 普通类和抽象类有哪些区别? 普通类不能包含抽象方法,抽象类可以包含抽象方法。 抽象类不能直接实例化,普通...局部变量:只在某个范围内有效。(一般指的就是方法,语句体内)
•变量的作用范围(一对{}之间有效) •初始化值 定义变量的格式: •数据类型 变量名 = 初始化值; •注:格式是固定的,记住格式,以不变应万变。 理解:变量就如同数学中的未知数。 变量字节大小...
关于java的基本介绍,实例变量: 1、在一个类中,任何方法之外定义的变量; 2、从面向对象的思想来说我们又把实例变量看成一个类的属性。 3、实例变量在没有符初值时系统会自动帮我们做初始化: 整型数据初始化为...
在 java 语言中,Java 程序的基本单位是类,也就是说:一个 Java 程序是由多个类组成 的。定义一个类与定义一个数据类型是有区别的。在程序设计语言中,把定义数据类型的能 力作为一种很重要的能力来对待。在面向...
3.3.4 常量与变量的有效范围 64 3.4 数据类型 65 3.4.1 计算机常用数制 66 3.4.2 整数类型 67 3.4.3 浮点类型 69 3.4.4 字符类型 69 3.4.5 布尔类型 71 3.5 数据类型转换 71 3.5.1 自动类型转换 71 3.5.2 ...
JAVA--达内培训笔记】 1、Java之父Golsling 1995年5月23日 Java诞生 1998年12月 1.2版本 Java2 J2SE J2EE J2ME 2004年12月 1.5版本(5.0) Java ... (3)在同一范围内不允许两个局部变量发生命名冲突 * * * *
一、Java基础知识 1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。 2.字符串的操作: 写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入...
变量生命周期的混乱往往会导致大量的程序Bug,接下来将介绍java是怎样替我们完成所有的清理工作,从而大大地简化这个问题的。 作用域 大多数过程型语言都有作用域(Scope)的概念。作用域决定了在其内定义的变量...
@Retention 用来描述注释的有效范围 @Inherited 用来描述某注释是否有继承性 @Documented 用来限定注释的信息是否能够进行文档化 自定义注释: 在自定义注释时,要用元注释来进行描述。 如: ...
当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。 17、abstract class和interface有什么区别? 声明方法...
25 JAVA8 与元数据.................................................................................................................................25 2.4. 垃圾回收与算法 .................................
目 次 前言 ........................................................................................................................................1.一般情况下,源程序有效注释量必须在30%以上。 16 ......
为了确保这个变量被修改后,应⽤程序范围内的所有线程都能够“看到”这个改动,虚拟机就 必须采⽤⼀些特殊的⼿段,保证这个变量的可⻅性等特点。 在⼀个系统中,如果线程数量很多,⽽且功能分配⽐较明确,就可以将...
实例变量的作用域在本类中完全有效,当被其他的类调用的时候也可能有效。 实例变量和局部变量允许命名冲突。 书写方法的格式: 修饰符 返回值 方法名 调用过程中 方法体 可能出现的例外 public int/void addNumber...
1.9 有效的xml 35 1.10 xml处理器/解析器 35 1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3...
有效的变量名称是 [a-zA-Z],目前不允许命名空间冲突。 有效表达式: 添加(表达式,表达式) 子(表达式,表达式) 多(表达式,表达式) div(表达式,表达式) 让(名称,表达式,表达式) 潜在的错误...
1.9 有效的xml 35 1.10 xml处理器/解析器 35 1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3...