Java-实例变量、局部变量、类变量与final变量的区别

学习Java挺长时间长了,对于java中的基本知识虽然平时知道怎么用,但是别人突然间问你谁与谁是什么关系时,还是有点生疏。既然说到这了,今天把Java中的实例变量、局部变量、类变量与final变量之间的关系的思路重新整理一遍。俗话说的好“好记忆不如烂笔头”,在此分享一下。

   首先先说一下局部变量:这是我们接触java或者其他编程语言最早接触的东西,他定义在方法中,使用之前必须进行初始化,且生命周期尽在该方法中有效。

实例变量:只有在实例化对象后才可以使用,变量归对象所有。每当实例化一个对象时,总会创建一个副本并初始化,如果没有进行显式的初始化,则会初始化一个默认值。各个实例化对象的副本之间互相独立,之间没有耦合。

类变量:该变量使用static修饰符修饰,随着类的加载而可以使用(类名.变量名),属于类所有。在程序中仅加载一次,分配独立的存储空间(静态区),所有实例化的对象共享类变量。

final变量:使用static final 修饰,表示该变量为常量,显示初始化之后不可以被修改,类似于C/C++中的全局变量,虽然Java中并不是这种叫法。

举例如下:

public class VariableTest
{
    char ch = 'a';
    public static int numInt = 100; # 成员变量
    public staitc int testStatic()
    {
        static final int i = 2; # static final 变量
        int x = 5;  #局部变量
        System.out.println(i+x);
    }
    public static void main(String[] args)
    {
        System.out.println(Variable.numInt);
        VariableTest test = new VariableTest();
        test.testStatic();
        System.out.println(test.ch);
    }
}
运行结果:100

                    7

                    a

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 酷酷鲨 设计师:CSDN官方博客 返回首页