跳至主要內容

Java变量:了解局部变量、成员变量、静态变量和常量的特点与用途

沉默王二2020年11月18日Java 核心面向对象编程约 1788 字大约 6 分钟

“二哥,听说 Java 变量在以后的日子里经常用,能不能提前给我透露透露?”三妹咪了一口麦香可可奶茶后对我说。

“三妹啊,搬个凳子坐我旁边,听二哥来给你慢慢说啊。”

Java 变量就好像一个容器,可以保存程序在运行过程中的值,它在声明的时候会定义对应的数据类型(Java 分为两种数据类型:基本数据类型和引用数据类型)。变量按照作用域的范围又可分为三种类型:局部变量,成员变量和静态变量。

比如说,int data = 88;,其中 data 就是一个变量,它的值为 88,类型为整型(int)。

01、局部变量

在方法体内声明的变量被称为局部变量,该变量只能在该方法内使用,类中的其他方法并不知道该变量。来看下面这个示例:

/**
 * @author 微信搜「沉默王二」,回复关键字 PDF
 */
public class LocalVariable {
    public static void main(String[] args) {
        int a = 10;
        int b = 10;
        int c = a + b;
        System.out.println(c);
    }
}

其中 a、b、c 就是局部变量,它们只能在当前这个 main 方法中使用。

声明局部变量时的注意事项:

02、成员变量

在类内部但在方法体外声明的变量称为成员变量,或者实例变量,或者字段。之所以称为实例变量,是因为该变量只能通过类的实例(对象)来访问。来看下面这个示例:

/**
 * @author 微信搜「沉默王二」,回复关键字 PDF
 */
public class InstanceVariable {
    int data = 88;
    public static void main(String[] args) {
        InstanceVariable iv = new InstanceVariable();
        System.out.println(iv.data); // 88
    }
}

其中 iv 是一个变量,它是一个引用类型的变量。new 关键字可以创建一个类的实例(也称为对象),通过“=”操作符赋值给 iv 这个变量,iv 就成了这个对象的引用,通过 iv.data 就可以访问成员变量了。

声明成员变量时的注意事项:

03、静态变量

通过 static 关键字声明的变量被称为静态变量(类变量),它可以直接被类访问,来看下面这个示例:

/**
 * @author 微信搜「沉默王二」,回复关键字 PDF
 */
public class StaticVariable {
    static int data = 99;
    public static void main(String[] args) {
        System.out.println(StaticVariable.data); // 99
    }
}

其中 data 就是静态变量,通过类名.静态变量就可以访问了,不需要创建类的实例。

声明静态变量时的注意事项:

04、常量

在 Java 中,有些数据的值是不会发生改变的,这些数据被叫做常量——使用 final 关键字修饰的成员变量。常量的值一旦给定就无法改变!

常量在程序运行过程中主要有 2 个作用:

Java 要求常量名必须大写。来看下面这个示例:

/**
 * @author 微信搜「沉默王二」,回复关键字 PDF
 */
public class FinalVariable {
    final String CHEN = "沉";
    static final String MO = "默";
    public static void main(String[] args) {
        FinalVariable fv = new FinalVariable();
        System.out.println(fv.CHEN);
        System.out.println(MO);
    }
}

“好了,三妹,关于 Java 变量就先说这么多吧,你是不是已经清楚了?”转动了一下僵硬的脖子后,我对三妹说。

“是啊,二哥,我想以后还会再见到它们吧?”

“那见的次数可就多了,就好像你每天眨眼的次数一样多。”


GitHub 上标星 10000+ 的开源知识库《二哥的 Java 进阶之路》第一版 PDF 终于来了!包括Java基础语法、数组&字符串、OOP、集合框架、Java IO、异常处理、Java 新特性、网络编程、NIO、并发编程、JVM等等,共计 32 万余字,500+张手绘图,可以说是通俗易懂、风趣幽默……详情戳:太赞了,GitHub 上标星 10000+ 的 Java 教程

微信搜 沉默王二 或扫描下方二维码关注二哥的原创公众号沉默王二,回复 222 即可免费领取。

二哥的编程星球
这是一个编程学习指南 + Java 项目实战 + LeetCode 刷题 + 简历精修的私密圈子,已有 8600 名球友加入