`

Java中变量的作用域和生存周期

    博客分类:
  • Java
阅读更多

看看下面的代码 输出啥呢

 

package cn.lifx.test;

public class Test2
{
	public static void main(String[] args)
	{
		Test2 t = new Test2();
		
		t.AA();
		
		BB();
		
		t.CC();
	}
	
	public void AA()
	{
		static int a = 2;
		public int b = 3;
		
		System.out.println(a);
		System.out.println(b);
	}
	
	public static void BB()
	{
		static int s = 0;
		System.out.println(s);
	}
	
	public void CC()
	{
		final int c = 4;
		System.out.println(c);
	}
}

 

编译就出错了,为啥呢?唉,挺基础的东西,要我做还真做不对,基础不扎实啊!因为:

 

局部变量不能被staticprivateprotectedpublic等修饰符修饰,但可以被final修饰符修饰。

 

 

另外,总结一下:

 

1.       静态变量位于方法区,生命周期取决于类何时被加载及卸载。

2.       实例变量位于堆区,生命周期取决于实例何时被创建及销毁。

3.       局部变量位于栈区,生命周期取决于所属的方法合适被调用及结束调用。

 

0
0
分享到:
评论

相关推荐

    java变量的生命周期与作用域

    java变量的生命周期与作用域ppt 很详细的资源

    python中变量作用域及嵌套作用域.pdf

    Python 中的变量作用域是指变量的可见范围和生命周期。变量作用域可以分为四个级别:局部作用域(Local Scope)、外部作用域(Enclosing Scope)、全局作用域(Global Scope)和内建作用域(Built-in Scope)。 在 ...

    JavaScript作用域示例详解

    任何程序设计语言都有作用域的概念,简单的说,作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期。在JavaScript中,变量的作用域有全局作用域和局部作用域两种。 一、JavaScript中无...

    Java中局部内部类可以访问它所在方法中定义的final修饰的局部变量的合理解释.doc

    Java 中局部内部类可以访问它所在方法中定义的 final 修饰的局部变量的合理解释 在 Java 中,局部内部类可以访问它所在...在编写 Java 代码时,我们需要注意变量的作用域和生命周期,以避免出现编译错误或逻辑错误。

    Java复习题集阅读程序题.doc

    Java复习题集阅读程序题 本资源摘要信息涵盖了Java复习题集阅读程序题的知识点,旨在帮助学习者更好地理解 Java 编程语言。 1. 求和计算 阅读第一程序,了解 Java 中的 for 循环和赋值...* 变量的作用域和生命周期

    Java岗面试核心MCA版.pdf

    2. 作用域和存储位置:变量的作用域和存储位置取决于变量的声明位置。 3. 生命周期:变量的生命周期取决于变量的声明位置。 4. 初始值:变量的初始值取决于变量的类型和声明位置。 5. Java中定义一个不做事且...

    跟我学习javascript的作用域与作用域链

     任何程序设计语言都有作用域的概念,简单的说,作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期。在JavaScript中,变量的作用域有全局作用域和局部作用域两种。 1. 全局作用域...

    简单谈谈javascript中的变量、作用域和内存问题

    【变量】 [1]定义:可变的量,相当于给一个不定的数据起了一个外号。变量是存储信息的容器。 [2]特性:js中的变量是松散类型的,可以...[4]注意:用var操作符定义的变量将成为定义该变量的作用域中的局部变量。若省

    Java程序设计:第三章 面向对象程序设计.ppt

    变量作用域范围和参数传递方式是面向对象程序设计中的两个重要概念。变量作用域范围决定了变量的生命周期,参数传递方式决定了方法的参数如何传递。 面向对象程序设计的基本思想是将数据和方法封装到类中,使得程序...

    javascript 作用于作用域链的详解

    任何程序设计语言都有作用域的概念,简单的说,作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期。在JavaScript中,变量的作用域有全局作用域和局部作用域两种。 全局作用域(Global ...

    [java]读书笔记整理:一切都是对象

    作用域决定了在其内定义的变量名的可见性和生命周期。在C,C++和java中,作用域由花括号的位置决定。例如: { int x=12; //只有x 可用 { int y=100; //x,y 都可用 } //只有x 可用 //y ...

    java 面试题 总结

    内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的...

    java程序设计实验指导代码

    5.4 实验3 变量的作用域和this关键字 5.5 实验4 方法重载 第6章 继承和多态 6.1 预备知识 6.2 实验1 子类的派生与方法覆盖 6.3 实验2 多态性与动态绑定 6.4 实验3 嵌套类和内部类 第7章 包、接口和常用工具类...

    Java笔试题目汇总

    0、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域 当前类 同一package 子孙类 其他package public √ √ √ √ protected √ √ √ × friendly √ √ × × private √ × × × 不写时...

    java面试宝典

    2、作用域public,private,protected,以及不写时的区别? 8 3、String 是最基本的数据类型吗? 8 4、float 型float f=3.4是否正确? 8 5、语句float f=1.3;编译能否通过? 8 6、short s1 = 1; s1 = s1 + 1;有什么错? 8...

    Java面试宝典2020修订版V1.0.1.doc

    12、作用域public,private,protected,以及不写时的区别? 16 13、Overload和Override的区别。 16 14、构造器可不可以被重载或重写? 16 15、Java中有没有多继承? 16 16、抽象类和接口的区别? 17 17、java中实现...

    java jvm垃圾回收

    Java 中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。 一、垃圾回收机制的算法 Java 语言规范没有明确地说明 JVM 使用哪种垃圾回收算法,但是任何一种垃圾回收算法一般要做两件基本的事情:(1...

    Java Web 复习题集(1)期末考试题库含答案.pdf

    9. 作用域:JSP 中作用域由小到大的组合是 page > request > session > application。 10. session 对象:session 对象是用户首次访问服务器时由服务器自动为其创建的,可以通过 `pageContext` 对象获得 session ...

    corejava培训文档

    4.1. 变量和作用域 4.2. 操作符 4.3. 数字类型之间的转换 4.4. 强制类型转换 4.5. 转换的二种类型 4.6. 控制流 4.7. 循环语句 5. 四 数组 5.1. 声明数组 5.2. 创建数组 5.3. 初始化数组 5.4. ...

    Java面试宝典-经典

    17、请说出作用域public,private,protected,以及不写时的区别 13 18、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型? 14 19、构造器Constructor是否可被override? 15 20、接口是否可继承...

Global site tag (gtag.js) - Google Analytics