java中关于变量的作用域的问题

问题描述

java中关于变量的作用域的问题
在java中局部变量,实例变量,类变量的作用域都分别是什么呢?

解决方案

在java中:

局部变量:一般指的就是方法内部的变量,它的作用域范围就是定义方法体内部,也就是两个花括号之间,出了这个范围就访问不到了。
实例变量实例变量也叫_非静态成员变量_,它的作用范围是在当前类创建的实例对象范围,如果当前实例对象被销毁,它也将随之消失,各个实例对象之间互不影响。
类变量类变量也叫_静态成员变量_,顾名思义类变量,它就是跟当前类有关系的,它是属于当前类的.class的。即当类被编译成.class后就存在的,它跟实例对象无关,所有该类的实例对象都共享同一个类变量。

解决方案二:
函数内的局部变量,出了函数就没用了
实例变量,类变量,不知道你说的是什么,估计你说的是成员变量和静态变量
成员变量在这个对象创建的时候被创建,对象销毁的时候销毁,在对象内管用,每个实例的变量变量是独立的。
静态变量是在类中只有一份,在单个进程内(程序运行的实例)共享(如果你开了2个程序,每个程序有自己独立的静态变量)

解决方案三:
类变量:
比较特殊的实例变量,用static修饰的,一个类共用这个变量,所有由这类生成的对象都共用这个变量,类装载时就分配存储空间。一个对象修改了变量,则所以对象中这个变量的值都会发生改变。

实例变量:
从属于类,由类生成对象时,才分配存储空间,各对象间的实例变量互不干扰,能通过对象的引用来访问实例变量。

局部变量:
方法中或者某局部块中声明定义的变量或方法的参数被称为局部变量

解决方案四:
基础不行

http://blog.csdn.net/hekewangzi/article/category/2674441

从 Java-----1、Java概述 开始看起,,看完你就知道了,,只是告诉你答案你还是不会理解的

解决方案五:
找一本java基础书,重新看看,记住一些基本的概念

解决方案六:
局部变量只在离他最近的一对大括号里起作用,全局变量在整个类中起作用

解决方案七:
什么是变量的作用域?
答:指的是变量的存在范围,只有在这个范围内,程序代码才能访问它。当一个变量被定义时,它的作用域就被确定了。
变量根据作用域的不同,可以分为哪几类?
答:4类。
1、成员变量:在类中声明,它的作用域是整个方法。
2、局部变量:在一个方法的内部或者方法的一个代码块的内部声明。
?在方法内部声明,其作用域是整个方法。
?在方法中的一个代码块声明:其作用域谁这个代码块,......
答案就在这里:java 变量的作用域

时间: 2024-11-10 00:17:44

java中关于变量的作用域的问题的相关文章

java中的变量的作用域问题

问题描述 java中的变量的作用域问题 新人初学java,在变量的作用域这里卡了下 我知道全局变量和局部变量,但是如果我在main的开头就申明了一个变量,那这个变量应该是全局变量吧,下面所有的方法都可以调用这些变量,但是如果我在main函数中间申明了一个变量,那这个变量算什么?还算是全局变量吗?是不是只有后面的方法才能使用它,而在他之前的就不能用? 还有一个问题: File tmp; while(!list.isempty()){ tmp = (File)list.removeFirst ...

java中 的变量在方法间的传递权限问题

问题描述 java中 的变量在方法间的传递权限问题 我现在定义了方法1(),在该方法里用了scanner获取了一个整数a,对这个整数进行了相关操作,返回了一个字符串s,但是我现在定义了一个方法2(),该方法要接收方法1()返回的字符串s,该方法同时也要用到方法1()中scanner获取的那个整数a,进行操作后返回一个整数b(b用main()函数接收),那么问题就来了,方法1只能返回一个字符串s,那么方法2()怎么获取方法1()的那个用scanner接收到的整数呢?我的想法是将方法1()中的sca

深入理解JS中的变量及作用域、undefined与null

 本篇文章主要是对JS中的变量及作用域.undefined与null进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 Situation One   代码如下: <script> var i; //全局变量 //方法名是camel命名法 //方法里面的变量是局部变量   function sayHello(){ var x=100; alert(x); x++; } sayHello(); //输出100 alert(x); //报错,因为x是局部变量,访问不到 </scr

java 使用变量-java 中使用变量之前是不是一定得判断是否为空?

问题描述 java 中使用变量之前是不是一定得判断是否为空? java 中使用变量之前是不是一定得判断是否为空? java 中使用变量之前是不是一定得判断是否为空? 解决方案 Java 中判断 String 变量为空的条件 解决方案二: 这个要视情况而定了.如果你定义的时候给了初始值,并且在程序运行过程中,你确定没有其他地方该对象进行null赋值,那么就不需要判断了. 如果你不确定,那么最好在使用前判断下,避免空指针异常 解决方案三: 其实从安全性考虑,无论何时,只要使用了该变量都最好判断一下,

java中static变量和static方法以及普通方法在那个内存中存储呢? 请高手指点,谢谢

问题描述 java中static变量和static方法以及普通方法在那个内存中存储呢? 请高手指点,谢谢 栈内存:局部变量和对象的引用变量: 堆内存:对象: 以上是我所知道的,那么static变量和static方法以及普通方法在那个内存中存储呢? 请高手指点,谢谢 解决方案 static和普通方法都存在堆内存中,堆内存有个永久区permgen,这里面会存类信息. 所以不断的加载类或jar包可能出现permgen oome的错误. static是在堆内存的数据区. 解决方案二: java stat

java中final 变量作为方法的参数?怎么理解?见下面代码

问题描述 java中final 变量作为方法的参数?怎么理解?见下面代码 class NiMingLei { public static void main(String[] args) { Outer out= new Outer(); out.function(7); out.function(8); } } class Outer { static int y=4; void function(final int a) { class Inter { void method() { Sys

Python中的变量和作用域详解_python

作用域介绍 python中的作用域分4种情况: L:local,局部作用域,即函数中定义的变量: E:enclosing,嵌套的父级函数的局部作用域,即包含此函数的上级函数的局部作用域,但不是全局的: G:globa,全局变量,就是模块级别定义的变量: B:built-in,系统固定模块里面的变量,比如int, bytearray等. 搜索变量的优先级顺序依次是:作用域局部>外层作用域>当前模块中的全局>python内置作用域,也就是LEGB. x = int(2.9) # int bu

java中静态变量的生存周期或范围

问题描述 java中静态变量的生存周期或范围 在一个类里main方法中实现多个实例,会共享静态变量并可修改静态变量,但是在另一个类里main方法中再实现前面那个类的实例,静态变量又回到初始值了- 解决方案 变量就是变量的,它不可能保存起来共两个main共享的:其实两个main的话,你一个一个的执行,程序也是从上执行到下的,你顺着这个顺序看看你的程序你就 明白了,这个和静态变量是没有什么关系的:你在两个main里实现的实例是两个不同的对象这点你记清楚: 如果回答对你有帮助,请采纳 解决方案二: 这

java中哪些变量应该写在服务器,哪些变量应该写在客户端

问题描述 java中哪些变量应该写在服务器,哪些变量应该写在客户端 java中哪些变量应该写在服务器,哪些变量应该写在客户端 客户端的变量和服务器端的变量是一一对应的吗 解决方案 服务器和客户端是两个程序,甚至不是一种语言,和变量没有什么关系.一般来说,服务器放敏感的数据,比如用户账户密码,充值余额之类的.客户端放相对不敏感的数据,比如说用户设置,上次登录的用户名等等. 你一个完整的系统,两者当然是相关的. 解决方案二: 客户端用到的变量写在客户端 服务端用到的变量写在服务端