标题: 谁能给我讲讲局部变量和成员变量的区别啊? [打印本页] 作者: 任长存 时间: 2015-12-28 15:26 标题: 谁能给我讲讲局部变量和成员变量的区别啊? 这个代码和视频有点看不懂。
class Demo2_Person {
public static void main(String[] args) {
Person p = new Person();
p.speak();
}
}
class Person {
String name;
int num;
public void speak() {
int num = 10;
System.out.println(name);
System.out.println(num);
}
}
作者: iori 时间: 2015-12-28 18:14
首先我们看一下,程序开始运行。:
class Demo2_Person {
public static void main(String[] args) {
Person p = new Person(); (这里创建了Person类的对象p,同时访问Person类的无参构造(因为你没有写,所以系统隐藏自动给出,)对Person类的数据进行初始化。
p.speak(); 访问Person类中的speak方法。然后我们进行入到Person类中。
class Person {
String name; //String name是成员变量,有初始化值为null
int num; // 同理 int num 也是成员变量,初始化值为0。
因为调的是sperk方法,所以进行到sperk方法中。num给值为10(因为上面已经定义了num为成员变量,所以
会把这个值给成成没变量num。)
System.out.println(name);
// 输出name,没有给值,所以输入默认值
System.out.println(num);//给值了,所以输出10
最后:
成员变量:随着对象的创建而存在,随着对象的消失而消失
局部变量:随着方法的调用而存在,随着方法的调用完毕而消失 作者: luyang18 时间: 2015-12-28 21:55
二楼好详细的讲解作者: 云鱼 时间: 2015-12-28 22:16
成员变量,定义在类中方法外;
局部变量,定义在方法中作者: 云鱼 时间: 2015-12-28 22:17
iori 发表于 2015-12-28 18:14
首先我们看一下,程序开始运行。:
class Demo2_Person {
public static void main(String[] args) ...