码迷,mamicode.com
首页 > 编程语言 > 详细

黑马程序员——Java基础---面向对象之理解

时间:2015-11-29 19:34:55      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:

 

                ------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

                                                                            面向对象之理解

一:理解面向对象

          1,什么是对象

      对象就是实际生活中的事物,可以说一切事物都是对象。   如:桌子,椅子,电脑,电视机等。

                 对象的3个主要特征:

        a)对象行为:这个对象能做什么,既可以让这个对象完成什么样的功能。   如:自行车可以用来骑。

        b)对象的状态:当操作对象的方法时,对象所保持的一种特定的状态。   如:可以扭动自行车转弯。

        c)对象的标识符:可以通过标识符,区别具有相同行为或类似状态的对象,通过它能区分不同的对象。   如:自行车的颜色。

          2,面向对象的概念

      a)面向对象是相对面向过程而言

             b)面向对象和面向过程都是一种思想,早期的思想是面向过程,通过不断的演化到             

                     了面向对象    

             c)面向过程

                       强调的是功能行为

             d)面向对象

                           将功能封装进对象,强调具备了功能的对象

             e)面向对象是基于面向过程的

          f)面向对象,是指编写程序的时候要围绕着一个对象的功能进行编写。

            

                   例 :大象放到冰箱

                             1 打开冰箱 

                             2 大象放到冰箱

                             3 关闭冰箱 

                     说明: 我们注重的是过程,注重过程当中所涉及到的行为,也就是功能(打开功能,存储功能,关闭功能) 。

                              那么我们把他转化成为对象是什么样的呢?也就是说我们现在不在面向这个过程了,而是针对对象。

                              所以就把思想转变了,既然这些都是冰箱的行为 ,我们只要操作这个冰箱中所具备的功能就可以的话,我们就把这些行为全部

                              都定义到冰箱当中,冰箱是一个实实在在存在的一个物体,这个我们就称之为对象。    

                              这样我们看到的就不再是打开,存储,关闭了 。

                              我们看到的其实就是一个事物冰箱。

二:面向对象特点

         面向对象的四个特征:封装,继承,多态,抽象。

             封装:是指对一件事物的描述信息是这个事物特有的,不能让外界看到的一些成员变量和方法。

                     在java里成员变量和方法就被封装在类里,需要通过一些特有的方法访问他们。

        继承:是发生在类与类之间的,是子类共享父类成员变量和方法的一种模式。通过扩展子类的方法可以使子类有比父类更强大的功能。

      多态:是指对象在运行期和编译期的两种状态,多态的使用使代码具有了更多的灵活性和重用性。

             抽象:是指在定义类的时候,确定了该类的一些行为和动作。  如:自行车可以移动。

                      但怎么移动不进行说明。这种提前定义一些动作和行为的类为抽象的。

三:类与对象

         类:是java语言描述事物的一种方式,描述就是class定义的类。

           对象:就是这类事物实实在在存在的个体,在java中用new产生的实体,这个实体在堆内存中。 

 

           为什么对象在对内存中还是个实体呢?

             我们发现对象中包含很多的数据,凡是数据多了我们就用实体来存储,像数组一样,数组中可以存储一些数据,对象也是可以存储数据的,

               凡是用于存储多个数据的我们都称之为实体。都放在堆内存中。

 

四:成员变量和局部变量

         作用范围:

                成员变量:作用于整个类中

                局部变量:作用于函数中,或者语句中

         在内存中的位置:

                成员变量:在堆内存中,因为对象的存在,才在内存中存在。

                局部变量:存在于栈内存中。

          参与运算时:

                成员变量:都有默认的初始化值,因为他在堆内存中。

                局部变量:不初始化是不可能参与运算的 ,因为他在栈内存中,

                              必须有初始化值以后才能参与运算。    

 

五:匿名对象

      1, 匿名对象是对象的简化形式

          如:

1  Car c = new Car( );
2   c . num = 5;
3 
4   //变为:
5 new Car( ) . num =5;

       2,  匿名对象两种使用情况

              a) 当对对象方法仅进行一次调用的时候

              b)匿名对象可以作为实际参数进行传递

 

      

          

                                       -----------android培训、java培训、java学习型技术博客、期待与您交流!------------ 

黑马程序员——Java基础---面向对象之理解

标签:

原文地址:http://www.cnblogs.com/hmchengxuyuan/p/4977688.html

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