属性(成员变量) vs局部变量
相同点
- 定义变量的格式:数据类型 变量名=变量值
- 先声明后使用
- 变量都有其对应的作用域
不同点
- 在类中声明位置不同
属性直接定义在类的一对{}内 局部变量:声明在方法内、方法形象、代码块内、构造器内部变量
- 关于权限修饰符的不同
属性:可以在声明属性时,指明权限,使用权限修饰符 局部变量:不可以使用权限修饰符
常用修饰符
private、public、protected
- 默认初始化值的情况
属性:累的属性根据其变量类型,都有初始化值 整型(byte、short、int、long)=0 浮点型(float、double)=0.0 字符型(char)=0(或'\u0000') 布尔型(boolean)=false 引用数据类型(类、数组、接口)=null 局部变量:没有默认初始化值 我们调用局部变量前需要先声明变量值。 特变的形参在调用时,我们在赋值即可。
- 在内存中加载的位置
属性:加载到堆空间中 局部变量:加载到栈空间中
例子
class User{
//属性(成员变量)
private String name;
int age;
public void talk(String language) {//language=形参,局部变量
System.out.println("使用的是"+language+"进行交流");
}
public void eat() {
String food="烙饼";//局部变量
System.out.println("北方人喜欢吃"+food);
}
}
没有回复内容