标签:
一个文件里面一般只存放一个类
1 package com_package2; 2 3 public class Car { 4 String color; 5 int num; 6 void run() 7 { 8 int num=10; 9 System.out.println(color+" "+num); 10 11 } 12 13 }
1 package com_package2; 2 3 public class CarDemo { 4 public static void main(String[]args) 5 {//创建Car类对象,通过new关键字完成,这个对象来源于上端源代码产生的class文件,左边定义了一个Car类型的car变量,也称为类类型变量,类类型变量指向该类对象 6 Car car =new Car(); 7 //指挥汽车做事情,调用格式:对象.对象成员
car.color="blue";//改变的是car指向的内存中的对象中的color的值,并不是上边color的属性 8 car.num=4; 9 car.run(); 10 11 } 12 13 }
最后结果是
blue 10,因为run()内定义的局部变量和成员变量虽然名字相同但是并不是互相干涉的,既然run()内包含num变量,那么有限输出run中num的值,如果run中没有num就会输出成员变量num=4
只有包含main的类才可以运行
这里也体现出了局部变量和成员变量之间的区别:
1、定义的位置不同。
成员变量定义在类,作用于整个类。
局部变量定义在函数,作用于整个函数,或者定义在语句,作用于语句内。
2、内存出现的时间和位置不同。
成员变量:当对象创建是,出现在堆内存的对象中。
局部变量:所属区间被运算时,出现在栈内存中。
3、生命周期不同:
成员变量:随着对象的出现而出现,随着对象的消失而消失。
局部变量:随着所属区间运算结束而立即被释放。
4、初始化值:
成员变量:因为在堆内存中,都有默认的初始化。
局部变量:没有默认初始化。
标签:
原文地址:http://www.cnblogs.com/mmlovejj/p/4418635.html