码迷,mamicode.com
首页 > 其他好文 > 详细

面向对象

时间:2015-04-11 23:54:09      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:

一个文件里面一般只存放一个类

 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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!