长沙3合1网站建设电话,使用百度地图导航收费吗,电商平台怎么运营的,个人如何注册企业邮箱黑马程序猿入学blog ... 接着上一章的代码#xff1a; //车类
class Car{//事物的公共属性使用成员变量描写叙述。String name; //名字的属性 String color; //颜色属性 int wheel; //轮子数 //事物的公共行为使用函数描写叙述。 public void run(){ System.out.println(name //车类
class Car{//事物的公共属性使用成员变量描写叙述。 String name; //名字的属性 String color; //颜色属性 int wheel; //轮子数 //事物的公共行为使用函数描写叙述。 public void run(){ System.out.println(name飞快的跑起来啦...); } } class Demo1{ public static void main(String[] args) { //使用了Car类声明了一c变量 c变量指向了一个车对象。 Car c new Car(); //设置车对象的属性值。 c.name BMW; c.color 白色; c.wheel 4; //訪问车对象的属性值 System.out.println(名字 c.name 颜色: c.color 轮子数c.wheel); c.run(); } }结果是 名字BMW 颜色白色 轮子数4 BMW飞快的跑起来了 上面代码在内存中是怎么执行的呢 以下我来给大家分析下 c是局部变量 1.先声明了c变量 分配在栈内存 2.new Car 在堆内存创建了一个车对象 看看Car有那些成员属性然后再给对象分配初始值为namenull。colornull。wheel0 成员一旦创建。对象的成员变量也会立即分配默认的初始值 然后把地址0x97赋给了c c就指向了车的这个对象。 3. c.name 就是c拿着地址找到车的对象 然后把name改成BMW. c.color 就是c拿着地址找到车的对象 然后把color 改成白色. c.wheel 就是c拿着地址找到车的对象 然后把wheel改成4. 以下再看个样例 //车类
class Car{//事物的公共属性使用成员变量描写叙述。String name; //名字的属性String color; //颜色属性int wheel; //轮子数//事物的公共行为使用函数描写叙述。 public void run(){ System.out.println(name飞快的跑起来啦...); } } class Demo1{ public static void main(String[] args) { Car c1 new Car(); Car c2 new Car(); c1.name 宝马; c2.name 大众; System.out.println(名字 c1.name); } } 结果名字宝马 看下图解释 1.先声明了c1变量 分配在栈内存 2.new Car 在堆内存创建了一个车对象 看看Car有那些成员属性然后再给对象分配初始值为namenullcolornull。wheel0 成员一旦创建。对象的成员变量也会立即分配默认的初始值 然后把地址0x97赋给了c1 c1就指向了车的这个对象。 3.再声明了c2变量 分配在栈内存 4.再new 一个 Car 在堆内存再创建了一个车对象 看看Car有那些成员属性。然后再给对象分配初始值。为namenullcolornullwheel0 成员一旦创建对象的成员变量也会立即分配默认的初始值 然后把地址0x67赋给了c2 c2就指向了车的这个对象。 5. c1.name 就是c1拿着地址找到车的对象 然后把name改成 宝马 6. c2.name 就是c2拿着地址找到车的对象 然后把name改成“ 大众 ” 7. 最后输出c1.name c1就拿着地址找到相应的对象 输出了那个对象的name 所以结果是宝马 以下再把这个样例改下 //车类
class Car{//事物的公共属性使用成员变量描写叙述。String name; //名字的属性String color; //颜色属性int wheel; //轮子数//事物的公共行为使用函数描写叙述。 public void run(){ System.out.println(name飞快的跑起来啦...); } } class Demo1{ public static void main(String[] args){ Car c1 new Car(); c1.name 宝马; Car c2 new Car(); c2.name 大众; c1 c2; System.out.println(名字 c1.name); } } 结果大众 下图解释 1.先声明了c1变量 分配在栈内存 2.new Car 在堆内存创建了一个车对象 看看Car有那些成员属性。然后再给对象分配初始值为namenullcolornullwheel0 成员一旦创建对象的成员变量也会立即分配默认的初始值 然后把地址0x97赋给了c1 c1就指向了车的这个对象。 3. c1.name 就是c1拿着地址找到车的对象 然后把name改成 宝马 4.再声明了c2变量 分配在栈内存 5.再new 一个 Car 在堆内存再创建了一个车对象 看看Car有那些成员属性然后再给对象分配初始值。为namenullcolornullwheel0 成员一旦创建。对象的成员变量也会立即分配默认的初始值 然后把地址0x67赋给了c2 c2就指向了车的这个对象。 6. c2.name 就是c2拿着地址找到车的对象 然后把name改成“ 大众 ” 7.把c2的持有地址赋给了c1 c1的地址原来是0x97 改为 0x67 8. 最后输出c1.name c1拿着改后的地址去找地址为0x67的对象 输出为0x67地址的对象中的属性name. 所以结果为;大众