1.声明位置和方式:
>实例变量:在类中方法外
>局部变量:在方法体{}中或方法的形参列表、代码块中
2.在内存中存储的位置不同:
>实例变量:堆
>局部变量:栈
3.生命周期:
>实例变量:和对象的生命周期一样,随着对象的创建而存在,随着对象被GC回收而消亡,且每个对象的实例变量是独立的
>局部变量:和方法调用的声明周期一样,每次方法被调用而存在,随着方法执行的结束而消亡,且每次方法调用都是独立的
4.作用域:
>实例变量:通过对象就可以使用,本类中直接调用,其他类中“对象.实例变量”
>局部变量:出了作用域就不能使用
5.默认值:
>实例变量:有默认值
>局部变量:没有,必须手动初始化。其中的形参比较特殊,靠实参给它初始化
public class Person {//人类
//1.属性
String name;//姓名
int age=1;//年龄
boolean isMale;//是否是男性
public void show(String nation){
//nation:局部变量
String color;//color:局部变量
color="yellow";
}
}
//测试类
class PersonTest{
public static void main(String[] args) {
Person p = new Person();
p.show("CHN");
}
}