成员变量:在类中定义,用来描述对象将要有什么,可被本类,有关系的其他类使用
局部变量:在类的方法中定义,在方法中临时保存数据,只能被当前类使用
区别:1.作用域不同
局部变量的作用域仅限于定义它的方法
成员变量的作用域在整个类内部都是可见的
class Telphone{
//成员变量(可不用自己赋值)
float screen;
float cpu;
float mem;
int var;
void call(){
int localVar=0; //局部变量(要自己赋值)
System.out.println("localVar="+localVar);
System.out.println("var="+var);
System.out.println("Telphone有打电话的功能!");
}
void sendMessage(){
System.out.println("var="+var);
System.out.println("screen"+screen+"cpu"+cpu+"mem"+mem+"Telphone有发短信的功能!");
}
}
class Ex17{
public static void main(String[] args){
Telphone phone=new Telphone();
phone.screen=5.0f;
phone.cpu=1.4f;
phone.mem=2.0f;
phone.sendMessage();
phone.call();
}
}
2.初始值不同
Java会给成员变量一个初始值,不给局部变量赋初始值
3.在同一个方法中,不允许有同名局部变量;在不同方法中,可以有同名局部变量
4.两类变量同名时,局部变量具有更高的优先级(就近原则)