成员变量和局部变量的区别

1.定义位置不同。

局部变量定义在方法内部,成员变量定义在方法外部,在某个类内部。

2.作业范围不同。

局部变量只在方法内起作用,成员变量可以在方法外访问到。

3.默认值不同。

成员变量的默认值即为该数据类型的初始值,而局部变量没有默认值,在使用之前一定要先初始化。

class Person{
  private String name;//成员变量,在方法外,类内部
  private int age;
  public void show(int i){
       //i也是局部变量,不需要初始化,因为调用方法时一定会传入i的具体值
       String str="hello";//局部变量,方法内部才有作用,必须初始化
       System.out.println(str+"这是第"+i+"个人");
     }
    String str2=str;//报错,因为str是局部变量,方法外不能访问
    String str3=name;//不报错,name初始值为null,所以str3的值也为null
  }

 

posted @ 2019-12-03 21:40  遍唱阳春  阅读(841)  评论(0编辑  收藏  举报