【Java基础】详解所有变量和常量的定义与区别

本文详细解析了Java中的静态变量、常量和成员变量的概念,以及它们之间的关系,包括实例变量、类变量和局部变量的特性,以及在内存分配和作用域上的区别。同时讨论了final和static修饰的静态常量特性。
摘要由CSDN通过智能技术生成

本文主要说明一下概念

        1.静态变量

        2.静态常量

        3.成员变量

        4.类变量

        5.实例变量

        6.局部变量

        7.常量

关系图

 

成员变量和局部变量相对

        成员变量:直接声明在类中的变量, 就是成员变量

        局部变量: 声明在方法内部, 或者形参中,亦或者代码块中的变量

其中成员变量包括两个变量:

        1..实例变量

        2..类变量(又叫静态变量)

然后就是常量,静态变量和静态常量的区别:

        1.常量是用final修饰的

        2.静态变量是用static修饰的

        3.静态常量是用final static共同修饰的

成员变量之间的关系

   对于三个成员变量,分别为类变量、成员变量和局部变量

public class Test01 {
    private static int a=10;    //类变量
    private int b = 10;  //实例变量
    public static void main(String[] args) {
        int c=10;   //局部变量
    }
}

这里要注意,静态方法中的局部变量只是静态方法中的局部变量.它们不是静态的,它们不是特别的.

  基本数据类型的值直接存放在栈中

        这里我们就要剖析一下JVM栈的知识了,可以戳这篇文章

public class Test01 {
    private static int a=10;    //类变量
    private int b = 10;  //实例变量
    public static void main(String[] args) {
        int c=10;   //局部变量
    }
}

这里要注意,静态方法中的局部变量只是静态方法中的局部变量.它们不是静态的,它们不是特别的.  

        类变量(静态变量):随着类加载的初始化,把值放在堆(方法区)中,该对象全部对象共用

        实例变量:随着对象的简历,也是把值放在中,但是是每一个对象私有的

        局部变量:运行时,随着方法入栈,而建立在中,随着方法的出栈而消亡

注意:这只是建立在对象的基础上

对于八大数据类型来说

        成员变量的基本数据类型是存在方法区的常量池里

        局部变量的基本数据类型是存在栈内存的常量池里

常量,静态变量和静态常量的关系

public class Test01 {
    private static int a = 10;    //静态变量
    private static final int b=10;  //静态常量
    private final int c=10;     //常量
}

 具体的关系可以看这篇文章

【Java基础】详解final和static_Elephant_King的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值