静态变量和局部变量的对比

变量的分类:

按照数据类型分:① 基本数据类型 ② 引用数据类型
按照在类中声明的位置分:
① 成员变量:在使用前,都经历过默认初始化赋值。
类变量(静态的成员变量): linking的prepare阶段:给类变量默认赋值。 —> initial阶段:给类变量显式赋值即静态代码块赋值。
实例变量(非静态的成员变量):随着对象的创建,会在堆空间中分配实例变量空间,并进行默认赋值
② 局部变量:在使用前,必须要进行显式赋值的!否则,编译不通过。

成员变量:

类体内定义的变量被称为成员变量。如果定义该成员变量时没有使用static修饰,该成员变量又被称为非静态变量或实例变量;如果使用了static修饰,则该成员变量又可被称为静态变量或类变量。

public class Test01 {
    static int a;//类变量 or 静态变量
    int b;//实例变量 or 非静态变量
    public static void main(String []args) {
    }
}

局部变量

    形参:在方法签名中定义的局部变量,由方法调用者负责为其赋值,随方法的结束而消亡。
    方法内的局部变量:在方法内定义的局部变量,必须在方法内对其进行显示初始化。这种类型的局部变量从初始化完成后开始生效,随方法的结束而消亡。
    代码块的局部变量:在代码块内定义的局部变量,必须在代码块内对其进行显式初始化,这种类型的局部变量从初始化完成后开始生效,随代码的结束而消亡。

在这里插入图片描述
在这里插入图片描述

posted @   依嘫  阅读(59)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示