java学习之变量

变量:

图片发自App


1.局部变量

声明在方法、构造方法或者语句块中

在方法、构造方法或者语句块执行时被创建,执行完成后被销毁

没有默认值,必须先初始化后使用

访问修饰符不能用于局部变量

在栈上分配内存

只在声明它的方法、构造方法或者语句块中可见。

☞理解:作用域在它声明处的大括号内,在声明的时候必须赋值。

2.实例变量

声明在类中,但在方法、构造方法、语句块之外

当一个对象被实例化之后,每个实例变量的值也跟着确定了

实例变量在对象被创建时创建,在对象被销毁时销毁

实例变量至少要被一个方法、构造方法或者语句块引用,使得外部能通过这些方式来获取实例变量信息

实例变量可以使用在声明前或声明后

访问修饰符可以修饰实例变量

实例变量对类中的方法、构造方法或者语句块时可见的。一般情况下把实例变量设为私有。

实例变量有默认值。它的值也可在声明时指定,也可在声明方法中指定

实例变量可以通过变量名访问,但在静态方法或者其他类中需要对象.实例变量名访问。

☞理解:声明在类的那个大括号下(不能有其他的大括号哦),先用着再声明也行,使用时本类中随便用(除开静态方法)其他类或者静态方法中访问要使用对象.实例变量名。

3.类变量(静态变量)

和成员变量定义的位置一样,用static声明

无论创建了多少个对象 类只拥有类变量的一份拷贝

静态变量除了被声明为常量外很少使用。常量是由public/private final static 数据类型 变量名。常量初始化后不可改变。

储存在静态储存区

在程序开始时创建,在程序结束时销毁。

与实例变量具有相同的可见性,但为了类的使用者可见,大多数静态变量声明为public类型

也有默认初始值

静态变量可通过类名.变量名的方式访问

☞:理解:静态变量与类(包括它的值)同在。

你可能感兴趣的:(java学习之变量)