`
damoqingquan
  • 浏览: 48544 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java易混淆概念之类变量、实例变量、局部变量

阅读更多

1.类变量、实例变量、局部变量

   类变量是类中独立于方法之外的变量,用static 修饰。

实例变量也是类中独立于方法之外的变量,不过没有static修饰。

局部变量是类的方法中的变量。

看下面的伪代码说明:

public class Variable{

     static int allClicks=0;//类变量

     String str="hello world";//实例变量

     public void method(){

        int i =0;//局部变量

     }

}

实例变量也称为:“域”,“成员变量”,在实体类或数据类中被称为“属性”或“字段”。当实例变量可以改变时,被称为对象的状态。

2 final用于常量的声明,规范要求常量的变量名是大写的。

3 statci 在java 里面用于对类方法和属性进行修饰,其作用是什么呢?

有两种情况是non-static无法做到的,这时你就要使用statice。
  
第一种:你希望不论产生了多少个对象,或不存在任何对象的情形下,那些特定数据的存储空间都只有一份;
  
第二种:你希望某个函数不要和class object绑在一起。即使没有产生任何object,外界还是可以调用其static函数,或是取用其static data。

分享到:
评论
1 楼 kjchen 2008-11-27  
写得通俗易懂,收藏。

相关推荐

    JAVA基础类(学习基础JAVA)

    - 成员变量的定义通常包括变量类型、变量名、变量的访问级别、变量是否为静态变量以及变量的类属(如全局变量、局部变量、类变量)等。 - **选项解析**: - A选项描述了变量类型和变量名,是正确的; - B选项描述...

    Java关键字之this用法详解.rar

    - "this"可以用来区分实例变量和局部变量,但不能用来区分类变量(静态变量)和局部变量,因为类变量是共享的,不受特定对象的影响。 总之,"this"关键字在Java中扮演着至关重要的角色,帮助我们更好地管理和操作...

    CoreJava学习笔记

    1. **简单性**:Java的设计者们将C++语言中许多不易理解和容易混淆的部分去除,使得Java更容易理解与掌握。 2. **面向对象**:Java几乎一切都是对象。面向对象的思想贯穿了整个Java语言设计的核心。 3. **分布式**:...

    java C# 面向对象方面的比较.doc

    - C#中的readonly关键字允许变量在声明时或构造函数中赋值,之后不能再改变,Java则使用final关键字实现类似功能,但更通用,也可以用于方法参数和局部变量。 6. 多态性: - Java的多态性默认更强大,子类可以...

    !!Java知识总结.doc

    类中的变量分为实例变量和局部变量。实例变量在整个类的范围内有效,而局部变量仅在其定义的方法或构造器内部有效。实例变量在对象创建时自动初始化,而局部变量必须先赋值后使用。类中还有一种特殊的构造方法,它的...

    03_第3章 类与对象1

    成员变量(类变量)在整个类的范围内有效,可以在类的任何地方被访问。而局部变量只在其声明的方法或构造器内部有效,其生命周期从声明开始到方法结束。如果局部变量和成员变量同名,局部变量会遮蔽成员变量,即在该...

    Java中this与super关键字的对比使用.pdf

    在Java中,构造方法是一个特殊的方法,它用于创建对象时初始化实例变量。在构造方法中,可以使用this()来调用同一个类的其他构造方法,从而避免代码重复,并且保证初始化逻辑的集中管理。 3. 调用当前对象的方法 ...

    java题集

    为了避免潜在的数据不一致问题,Java要求局部内部类只能访问那些被声明为`final`的局部变量。然而,局部内部类可以访问类的成员变量(包括非`final`的成员变量),因为这些成员变量在整个类的作用域内是可见的。 ##...

    servlet与Struts action线程安全问题分析

    4. **实例分析**:以`ConcurrentTest`Servlet为例,其中`output`变量作为实例变量,在多线程环境下被共享,导致并发请求间数据混淆。 5. **解决策略**:实现线程安全的方法包括但不限于使用线程局部变量...

    《深入Java虚拟机》整理

    - **栈和局部变量操作**:Java字节码指令集定义了一系列操作栈和局部变量的命令,如`aload`、`istore`等。 - **对象与数组**:介绍了Java中对象和数组的创建、访问及操作方式,包括对对象实例的生命周期管理。 ###...

    threadlocalpool:演示池环境中的线程局部变量

    每个ThreadLocal实例都拥有一个与之关联的线程局部变量,这个变量对于每个线程来说都是独立的,即每个线程都有自己的一份拷贝,互不影响。这在处理那些每个线程都需要独立状态的场景时特别有用,比如数据库连接、...

    Java编写中容易搞错的一些东西.rar

    例如,局部变量只能在方法内部使用,而类变量(静态变量)在整个类中都是可见的。不理解这一点可能导致在错误的位置引用变量,从而引发编译错误。 2. **数据类型转换**:Java是强类型语言,数据类型之间转换需要...

    SCJP 陷阱大全

    如果需要从局部内部类中访问局部变量,该变量必须声明为`final`。 ### 六、数值范围的注意事项 了解基本数据类型的数值范围是Java编程的基础。例如,`byte`类型的范围是-128至127,`short`类型是-32768至32767,`...

    java必学必会之this关键字

    `表示将构造函数参数`i`的值赋给当前`Leaf`对象的成员变量`i`,避免了局部变量与成员变量之间的混淆。 当一个类的实例方法返回对象自身时,`this`关键字常被用于链式调用。例如,`Leaf`类中的`increament()`方法...

    ThreadLocal_ThreadLocal源码分析_源码.zip

    ThreadLocal是Java编程语言中的一个类,用于在多线程环境下提供线程局部变量。它为每个线程创建了一个独立的变量副本,每个线程只能访问自己的副本,不会影响其他线程。ThreadLocal的设计思想是解决共享数据在多线程...

    java代码-ScopeErr

    这些变量通常声明为静态(static),所有类的实例都可以共享它们。 4. **包作用域(Package Scope)**:如果一个变量或类没有指定访问修饰符(默认修饰符),则它对同一包内的所有类可见。这种情况下,访问权限相对...

    Programming C#

    C#支持多种变量声明方式,包括局部变量、字段、静态变量等,每种类型的变量都有其适用场景。 #### 3.3 表达式 表达式是由操作数和运算符组成的计算单元,C#支持丰富的运算符,包括算术运算符、比较运算符、逻辑...

    C#错误编码详解很有用!

    **解决方案**: 确保局部变量在合适的作用域内定义和使用。 #### 错误 CS0131 **描述**: 非引用类型变量被当作引用类型使用。 **解决方案**: 确认变量类型正确无误。 #### 错误 CS0132 **描述**: 静态上下文中使用...

    2021-2022计算机二级等级考试试题及答案No.15626.docx

    此外,局部变量不能使用static修饰。 #### Java中的字符串转换与运算 - **知识点概述**:在Java中,可以使用`Double.parseDouble()`和`Integer.parseInt()`方法将字符串转换为相应的数值类型。在本例中,`s1`和`s2...

Global site tag (gtag.js) - Google Analytics