1. 语法格式
(1)[ 修饰符 ] 数据类型 属性名 = 初始化值 ;
修饰符 | public、private、default、protected、static、final |
数据类型 | 任何基本数据类型或任何引用数据类型。 |
属性名 | 属于标识符,符合命名规则和规范即可。 |
────────────────────────────────────────────────────────────
2. 变量的分类:成员变量与局部变量
(1)在方法体外,类体内声明的变量称为成员变量。
(2)在方法体内部声明的变量称为局部变量。
──────────────────────────────────────────────────────────
3. 成员变量与局部变量的异同
(1)相同点
成员变量的格式:数据类型 变量名 = 变量值; 先声明,后使用;变量都其对应的作用域 |
(2)不同点
在类中声明的位置的不同 | 成员变量:直接定义在类的一对 { } 内 局部变量:声明在方法内、方法形参、代码块内、构造器形参、构造器内部的变量 |
关于权限修饰符的不同 | 成员变量:可以在声明属性时,指明其权限,使用权限修饰符。 局部变量:不可以使用权限修饰符,但可以用 final 修饰 |
默认初始化值的情况 | 成员变量:类的属性,根据其类型,都默认初始化值。 局部变量:没默认初始化值。调用局部变量之前,一定要显式赋值。形参在调用时赋值即可。 |
在内存中加载的位置 | 成员变量:加载到堆空间中(非 static)或静态域中(static) 局部变量:加载到栈空间 |
生存周期不同 | 成员变量:从实例化对象开始,到当前对象被销毁为止 局部变量:大括号范围内 |
────────────────────────────────────────────────────────────
4. 对象属性的默认初始化赋值
(1)当一个对象被创建时,会对其中各种类型的成员变量自动进行初始化赋值。除了基本数据类型之外的变量类型都是引用类型。
────────────────────────────────────────────────────────────
5. 属性赋值过程
赋值的位置 | 1:声明成员变量的默认初始化 2:显式初始化 / 5:在代码块中赋值(同级别下按先后顺序执行) 3:构造器中初始化 4:通过“对象.属性“或“对象.方法”的方式赋值 |
赋值的先后顺序 | 1 - 2/5 - 3 - 4 |