一、成员变量 VS 局部变量
- 不同点
(1)在类中声明的位置不同:成员变量直接声明在类中;局部变量声明在方法的形参、方法的内部、构造器的内部、构造器的形参、代码块的内部……
(2)在内存中加载的顺序不同:成员变量声明在栈空间;局部变量声明在堆空间
(3)生命周期不同:成员变量随着对象的创建而存在,随着对象的销毁而消失;局部变量随着方法的调用而存在,随着方法调用的完成而消失
(4)初始化值不同:
成员变量有默认初始化值
整型(byte、short、int、long):0;
浮点型(float、double):0.0
字符型(char):’\u0000’
布尔型(boolean):false
引用数据类型(类、接口、数组):null
局部变量没有默认初始化值,必须定义赋值才能使用
(5)权限修饰符的使用:成员变量声明前可以使用权限修饰符进行修饰。局部变量不可以使用 - 相同点
(1)声明变量的结构:数据类型 变量名 = 变量值
(2)先声明,后使用
(3)都有对应的作用域 - 【总结】
属性赋值的先后顺序:
(1)默认初始化
(2)显式初始化 或 在代码块中赋值
(4)构造器中赋值
(5)通过“对象.属性”或“对象.方法”的方式赋值
二、方法
1.方法声明的格式
权限修饰符 返回值类型 方法名(形参列表){
//方法体
}
2.细节说明
(1)权限修饰符:指明所修饰的结构可被调用的范围大小
(2)返回值类型:有具体的数据类型 或 void(没有返回值)
①定义方法时根据方法的实际需要,来决定是否需要有返回值。需要,指明返回值对应的数据类型;不需要,使用void声明
②如果指明了具体的返回值类型,就必须在方法执行的最后返回所要求的的数据类型的变量(使用return)
③方法体中一旦执行到return就结束该方法
④声明为void的方法中也可以使用return
3.方法名属于标识符,声明时要满足标识符命名的规则和规范,做到见名知意。
4.形参列表:根据需要声明方法时提供形参列表(“数据类型 形参名”)
5.方法体:真正体现方法功能的部分
6.方法内可以调用当前类的属性、方法
7.方法内不能定义方法