`

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 变量的生命周期和作用域是密切相关的,变量的生命周期可以分为三个阶段:定义、初始化和销毁,而作用域可以分为四种:方法作用域、块作用域、类作用域和实例作用域。同时,函数的概念与作用是实现代码的重用性...

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

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

    黑马程序员 - Java基础教学 - 03 - 变量的作用域、for循环、break、continue、内存结构

    ### 黑马程序员Java基础教学知识点详解 #### 一、变量的作用域与生命...以上内容涵盖了Java基础教学中的关键概念,包括变量作用域、循环结构、流程控制以及内存管理的基本原理,是学习Java编程不可或缺的基础知识。

    JAVA程序设计课件-变量的作用域.pptx

    \n\n总之,理解并熟练掌握JAVA中的变量作用域是成为一名合格的JAVA程序员的基础,也是OCJA认证考试的关键内容之一。通过深入学习和实践,可以有效地提升编程技能,为未来的JAVA开发工作打下坚实的基础。

    Java变量和对象的作用域

    Java变量和对象的作用域是编程时非常重要的概念,它们决定了变量和对象的可见性和生命周期。在Java中,作用域由代码中的大括号 `{}` 定义,这被称为语句块。一旦变量或对象在某个作用域内声明,它们就只能在该作用域...

    Java 成员变量和局部变量

    1. **生命周期与作用域**: 局部变量在其声明的代码块内部有效,一旦离开该块,变量就不再存在。它们不会在方法调用之间保持值。 2. **必须初始化**: 与成员变量不同,局部变量在声明时必须立即初始化,否则编译器将...

    java 常量与变量

    在Java编程语言中,常量和变量是两个基础且重要的概念。它们是程序中存储数据的容器,理解它们的性质和用法对于编写高效的代码至关...在实际编程中,还需根据需求选择合适的数据类型,并注意变量的作用域和生命周期。

    浅谈Java中的变量.pdf

    本文主要讨论了Java中变量使用时的几个关键方面,包括变量的类型、作用域、值和生存期,并探讨了这些因素在Java虚拟机(JVM)中的实现机制。 1. **变量的类型**: Java中的变量分为两种类型:基本类型和引用类型。...

    js-作用域-变量申明提升 - 甘劭 - 博客园1

    JavaScript中的作用域和变量声明提升是理解JS代码执行的关键概念。首先,作用域是指变量或函数可以在哪些区域中被访问...在现代JavaScript中,推荐使用`let`和`const`代替`var`,以更好地控制变量的作用域和生命周期。

    accp5.0java第二章变量(二)

    在Java中,有四种主要的作用域:方法作用域、块作用域、类作用域和实例(或对象)作用域。局部变量(如方法内的变量)只在其声明的代码块内有效,而类变量(静态变量)在整个类中都可访问。实例变量(非静态变量)...

    Java成员变量类变量局部变量的区别共5页.pdf.zip

    Java编程语言中有三种主要的变量类型:成员变量(也称为实例变量)、类变量(也称为静态变量)和局部变量。理解这些变量之间的区别是学习Java基础的重要部分,这对于编写高效、可维护的代码至关重要。 1. 成员变量...

    Java中变量的使用规则共2页.pdf.zip

    4. **变量的作用域**:在Java中,变量的作用域决定了变量在代码中的可见性。局部变量在方法内部声明,只在该方法内有效;成员变量(包括实例变量和静态变量)属于类,作用于整个类;而常量(final修饰的变量)一旦...

    Java的方法重载与变量作用域简介

    Java编程语言中,方法重载(Overloading)和变量作用域是两个基本概念,对于初学者来说至关重要。本文将深入探讨这两个主题。 首先,我们来理解什么是方法重载。方法重载是Java允许在一个类中定义多个同名方法,但...

    Java程序基础成员变量和局部变量PPT优秀资料.pptx

    成员变量和局部变量是Java程序设计中的两个基本概念,它们有着不同的生命周期和作用域。成员变量是类的属性,跟对象一起出生和消失,而局部变量是函数的一部分,随着函数一起运行和结束。理解成员变量和局部变量的...

    Java中类的生命周期

    需要注意的是,这里提到的静态变量是指类作用域内的变量,它们只在类加载时分配一次内存。 - **解析** 解析是将类中的符号引用转换为直接引用的过程。这一过程主要是为了在类被初始化前,能够获取到类中所使用的...

    Java成员变量局部变量静态变量成员方法全局方法等概念的区

    这可能是指文件内容详细阐述了这些概念之间的差异,如成员变量和局部变量的生命周期、作用域、初始化时间以及静态变量与实例变量的共享特性,以及成员方法和静态方法的调用方式等。 理解这些基本概念对于编写有效...

    [Java4Android 04_Java的变量

    总结,理解和熟练运用Java的变量是编程的基础,它涉及到数据存储、类型转换、作用域等多个方面。在实际编程中,合理使用变量能够有效地组织和管理程序的数据,提高代码的可读性和效率。对于初学者,深入理解这些概念...

Global site tag (gtag.js) - Google Analytics