面向对象内存分析

需求:使用JAVA类,描述汽车类,属性轮子数,名字,颜色,还具有跑的功能行为。

自定义类:三个步骤1、自定义类。2、通过类创建对象。3、访问对象的属性或调用对象的功能。

                  定义格式:

                           clas 类名{

                                         事物公共属性使用成员变量描述。

                                         事物公共行为使用函数描述。

                                       }

代码:

 1     class Car{
 2         String name;
 3         String color;
 4         int wheel;
 5         public void run()
 6         {
 7             System.out.println("飞快的跑起来!");
 8         }
 9     }
10     
11 public class 练习5 {
12 
13     public static void main(String[] args) {
14         // TODO Auto-generated method stub
15 
16         Car car=new Car();
17         car.name="宝马";
18         car.color="红色";
19         car.wheel=4;
20         System.out.println(car.color+"的"+car.name+"车");
21         car.run();
22         
23     }
24 
25 
26 }

结果:

            

 

 1 public static void main(String[] args) {
 2         // TODO Auto-generated method stub
 3         //通过Car类创建车对象。
 4         Car car=new Car();
 5         car.name="宝马";
 6         car.color="红色";
 7         car.wheel=4;
 8         System.out.println(car.color+"的"+car.name+"车");
 9         car.run();
10         
11     }

上面代码在内存中的分析:

其中car为局部变量,new Car为对象,其中对象属性name为宝马,color为红色,wheel为4

则在栈内存中有一个空间叫car,堆内存为对象开辟一个空间,该空间存储对象的所有属性,

注意,成员属性,有默认的初始值,

                   int 默认为0,

                   double    0.0

                   float     0.0f

                    char     ''

                    string    null

                   对象一旦创建,对象的成员变量也会马上分配默认的初始值。属性一旦给予了值,则该值会改变自动分配的默认值。

                      属性赋值后     

 下面代码的内存分析图:

                                              

                                输出结果:宝马

                                                           

                                 输出结果:大众

 

posted @ 2017-07-27 21:00  柳青依觉  阅读(675)  评论(0编辑  收藏  举报