相同点
1.定义变量的格式:数据类型 变量名 = 变量值
2.先声明,后使用
3.变量都有其对应作用域
不同点
1.在类中声明的位置不同
成员变量:直接定义在类的一对{ }内
局部变量:声明在方法内,方法形参,代码块内,构造器形参,构造器内部的变量
2. 关于权限下修饰符的不同
成员变量:可以在声明时,指明其权限,使用权限修饰符。
局部变量:不可以使用权限修饰符。
3. 默认初始化值的不同
成员变量:根据其类型,都有初始化值。
整形(byte,short,int,long):0
浮点型(float,double):0.0
字节型(char):0
布尔型(boolean):flase
引有数据类型(类,数组,接口):null
局部变量:没有默认初始化值。
举例代码
public class day001 {
public static void main(String[] args) {
Person p1 = new Person();
System.out.println(p1.name);
System.out.println(p1.age);
p1.eat();
p1.talk("英语");
}
}
class Person{
public String name;//成员变量
public int age;//成员变量
public void eat(){
String food="包子";//food:局部变量(方法内)
System.out.println("人可以吃:" +food);
}
public void talk(String language){//language:局部变量(方法形参)
System.out.println("人可以说话,使有的是:" +language);
}
}
运行结果