- 浏览: 1504722 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (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 2036Java中文问题一直困扰着很多初学者,如果了解了Java系统的 ... -
UTF-8 GBK UTF8 GB2312
2011-08-19 10:46 1933UTF-8:Unicode TransformationFor ... -
Properties 类读取配置文件
2011-08-17 22:37 14651、使用java.util.Properties类的load( ... -
Java编程之四大名著
2011-08-06 10:07 1465中文第四版 http://download.csdn.n ... -
JDK5.0 新特性
2011-07-28 20:02 13911.AutoBoxing 原来int是非 ... -
JDK6的新特性
2011-07-28 19:57 1787JDK6的新特性 JDK6的新特性之一_Desktop类和Sy ... -
线程同步
2011-07-25 11:34 1281作者 : buaawhl http://www.iteye.c ... -
ZipInputStream类
2011-07-22 11:33 18777《Java开发实战经典》第12章Java IO,Java ... -
String、StringBuffer和StringBuilder的区别
2011-07-14 15:04 1373String是不可变的,StringBuffer是可变的;St ... -
精通JAVA核心技术
2011-07-11 11:31 1289http://www.2cto.com/ebook/20100 ... -
Java多线程sleep(),join(),interrupt(),wait(),notify()
2011-07-06 22:51 4917浅析 Java Thread.join() 一、在研究j ... -
FileInputStream/FileOutputStream的应用
2011-07-06 15:06 1415这是一对继承于InputStream和OutputStream ... -
Java基础之理解JNI原理
2011-07-05 14:55 1317JNI是JAVA标准平台中的一个重要功能,它弥补了JAVA ... -
面向对象和面向过程的区别
2011-07-04 09:52 1413面向过程就是分析出解 ... -
Java参数传值还是传引用
2011-07-03 20:52 3642参数是按值而不是按 ... -
JAVA排序汇总
2011-06-29 18:07 1509package com.softeem.jbs.lesson4 ... -
Java流操作,InputStream、OutputStream及子类FileInputStream、FileOutputStream;BufferedInpu
2011-06-27 18:09 19258Java将数据于目的地及来 ... -
线程综合文章
2011-06-27 10:48 1121http://lavasoft.blog.51cto.com/ ... -
由Java中的Set,List,Map引出的排序技巧
2011-06-24 14:18 2387一。关于概念: ... -
Date、String、Timestamp之间的转换
2011-03-20 16:59 2423public static Timestamp pars ...
相关推荐
变量的作用域决定了变量在代码中的可见范围。局部变量在方法内声明,只在该方法内部有效。成员变量在类中声明,可以在类的任何地方访问。 ### 常量与变量的使用规范 - 常量通常使用大写字母表示,单词间用下划线...
首先,Java变量有四种基本类型的可见性: 1. **本地变量(Local Variables)**:在方法、构造器或者块内部定义的变量,只在其声明的范围内可见,即从声明位置到该块的结束。它们不在类的任何实例或静态上下文中存在...
Java变量是程序中存储数据的容器,它是编程的基础。在"accp5.0 Java第二章变量(二)"中,我们将深入探讨Java变量的各个方面,包括类型、声明、初始化以及它们在程序中的作用。 首先,Java变量有三种基本类型:整型...
在Java编程语言中,变量是程序的基本构建块,它们用于存储数据。...正确地声明、使用和管理变量是编写有效、高效代码的关键。在实际编程中,根据需求选择合适的数据类型,并合理使用变量,能够提高程序的可读性和性能。
1. **局部变量**:在方法、构造器或块内部定义的变量,仅在该范围有效。 2. **实例变量**:属于类的每个对象实例,每个实例都有自己的一份副本。 3. **静态变量**:属于类本身,所有实例共享同一份副本。可以通过...
它们只在声明它们的代码块的范围内有效,即具有局部作用域。每次进入相应的代码块时,都会为局部变量分配存储空间,退出该块后,空间会被释放,变量的值也会丢失。局部变量在使用前必须先初始化,因为它们没有默认值...
本篇资料将深入探讨Java中变量的声明、存储过程以及使用范围。 1. 变量的声明 在Java中,声明变量是创建变量的第一步。声明变量时,需要指定变量的数据类型和名称。数据类型决定了变量能够存储的数据种类,如整型...
对于初学者来说,理解并掌握 Java 的基本数据类型和变量的声明至关重要。本文将深入探讨 Java 中的数据类型以及如何声明变量。 Java 提供了八种基本数据类型,它们分为两大类:整型和浮点型,以及两种布尔类型和一...
在编程语言中,Java 是一种广泛...理解常量和变量的概念,以及它们在 Java 中的声明、命名规则和作用范围,是学习 Java 编程的基础。通过实践和深入学习,你可以更好地掌握这些核心概念,并能有效地运用到实际项目中。
了解和掌握Java的变量是编程的基础,对于初学者来说至关重要。在Java中,变量是用来存储数据的容器,它有特定的数据类型,可以是基本类型或者引用类型。 1. 基本数据类型: Java的基本数据类型分为两大类:原始...
变量的作用域决定了变量的有效范围。Java中,变量通常分为成员变量和局部变量。成员变量(包括类变量和实例变量)在类级别上定义,而局部变量则在方法或代码块内部定义。类变量在整个类的范围内有效,实例变量仅在...
Java是一种广泛使用的面向对象的编程语言,其...了解并熟练掌握这些Java变量的使用规则,将有助于编写出更加高效、健壮的代码。在实际开发过程中,合理地声明、初始化和管理变量,对于提升代码质量、减少bug至关重要。
### 变量的作用范围在Java中的重要性及面试解析 #### 核心概念与知识点 在探讨变量作用范围(也称为变量的可见性或作用域)之前,我们首先需要理解为何这一概念对于Java编程至关重要。变量作用范围定义了变量可以...
局部变量的作用范围只在方法中有效,出了方法范围就不能使用。例如,在上面的示例代码中,`num` 变量只能在 `method1` 方法中使用,而不能在 `mehtod2` 方法中使用。成员变量的作用范围则是整个类都可以使用。 ...
public、private、protected和默认(无修饰符)决定了类、方法和变量的可见范围,这对于封装和信息隐藏至关重要。 了解了这些基础知识,开发者可以开始构建简单的Java程序,通过输入、处理和输出数据来解决问题。...
【变量使用常见错误】 ...确保在编程过程中注意这些细节,可以有效避免因变量使用不当引发的错误。遵循良好的编程实践,如声明和初始化变量,以及正确地使用变量类型,将有助于编写出更稳定、可维护的Java程序。
为了理解如何有效地访问这些同名的成员,我们需要深入理解Java的命名规则、作用域、访问修饰符以及多态性。以下是一些关键知识点: 1. **命名规则**:Java中的标识符(包括方法名和变量名)必须以字母、下划线(_)...
通过学习这个资源,你将能够理解如何在Java中有效地使用变量和基本数据类型,这是编写任何Java程序的必备基础。同时,通过Eclipse这样的专业工具,你可以更高效地编写、调试和运行代码,从而深化对这些概念的理解。...
总的来说,理解和掌握Java中的变量和数据类型是编写有效Java代码的基础。正确声明和使用变量,以及对不同数据类型的了解,将有助于编写出高效、易读的程序。在实际编程过程中,灵活运用这些知识能帮助开发者更好地...