Java变量类型

Java变量类型

Java支持的变量类型:
* 静态变量(类变量):独立于方法之外的变量,用static修饰
* 对象变量(实例变量、类成员变量):独立于方法之外的变量
* 局部变量:类的方法中的变量

public class Variable{
    static int allClicks=0;//类变量
    String str="Hello World";//类成员变量

    public void method(){
        int i=0;//局部变量
    }
}

局部变量

  • 访问修饰符不能用于局部变量
  • 局部变量只在声明它的方法、构造方法或语句块中可见
  • 局部变量是在栈上分配的
  • 局部变量没有默认值。局部变量被声明后,必须经过初始化才能使用。

对象变量(实例变量、类成员变量)

  • 类成员变量声明在一个类中,但在方法、构造方法和语句块之外。
  • 当一个对象被实例化,每个类成员变量的值便确定
  • 类成员变量在对象创建的时候创建,在对象被销毁的时候销毁
  • 类成员变量可以声明在使用前或使用后
  • 访问修饰符可以修饰类成员变量
  • 类成员变量具有默认值。
    数值型变量:0
    Boolean型:false
    引用型变量:null
  • 类成员变量的值可以在声明时指定,也可以在构造方法中指定
  • 类成员变量可以直接通过变量名访问。但在静态方法及其他类中,应使用完全限定名。

静态变量(类变量)

  • static关键字声明,必须在方法、构造方法、语句块之外。
  • 无论一个类创建了多少个对象,类只拥有静态变量的一份拷贝。
  • 静态变量储存在静态存储区。
  • 静态变量在程序开始时创建,在程序结束时销毁。
  • 具有默认值。
    数值型:0
    Boolean:false
    引用型:null
  • 变量的值可以在声明时初始化,也可以在构造方法中初始化,还可以在静态语句块中初始化。
  • 静态变量可以通过ClassName.VariableName方式访问。
  • 静态变量被声明为public static final时,类变量名称一般大写。
    若是其他情况,与普通变量命名方式一致。

对比

静态变量(类变量)对象变量(类成员变量、实例变量)局部变量
定义位置类中,方法外类中,方法外方法中或方法的形参
初始值有默认初始值有默认初始值无,先定义,赋值后使用
调用方式对象调用,类名调用对象调用——
存储位置方法区
生命周期与类共存亡与对象共存亡与方法共存亡
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值