您的位置:首页 > 职场人生

黑马程序员——java基础_面向对象

2015-08-01 20:41 597 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

       面向对象是Java语言区别c语言的一个重要特点,也是学好Java必须掌握的重要部分。接下来我会根据视频教程,总结对Java面向对象的理解与应用,以及牵涉到的一些知识点。

 一、理解面向对象

        我们知道c语言是一门面向过程的语言,那么面向对象就是相对面向过程而言的。如把大象装进冰箱,c语言强调的是功能行为:打开冰箱——>把大象装进冰箱——>关闭冰箱。而Java面向对象的思想就是强调具有功能的对象:冰箱打开,冰箱存储,冰箱关闭。感觉上就是过程是你自己亲自在做,而面向对象却是你指挥着对象去做。面向对象和面向过程都是一种思想,就看自己怎么想了,面向对象是基于面向过程的。

面向对象的特点:

        1. 是一种符合人们思考习惯的思想

        2. 可以将复杂的事情简单化

        3.将程序员从执行者转换成了指挥者

        4. 完成需求时:

                a)先要去找具有所需的功能的对象来用。

                b) 如果该对象不存在,那么创建一个具有所需功能的对象。

                c) 这样简化开发并提高复用。

        在Java的开发过程,其实就是不断的创建对象,使用对象,指挥对象做事情。设计的过程,其实就是在管理和维护对象之间的关系。

面向对象的三个特征:

        封装(encapsulation)   继承(inheritance)   多态(polymorphism)

面向对象的最高境界:万物皆对象。

二、类与对象

1、类与对象的关系

先看一个示例图:



如图我们可以理解为:类就是图纸。汽车就是对象。

类的定义:

       使用计算机语言就是不断的描述现实生活中的事物,而java中描述事物通过类的形式体现,类是具体事物的抽象,概念上的定义。

       生活当中描述事物无非就是描述事物的属性和行为。如:人的身高,体重等属性;讲话跑步等行为。Java则是用类class来描述对象的属性和行为。定义类其实就是在定义类中的成员(成员变量和成员函数)。

       属性:对应类中的成员变量。

       行为:对应类中的成员函数。   

而对象即是该类事物实实在在存在的个体。

如:

class Person  

{  

    int age;  

    private void speak()  

    {  

        System.out.println("age="+age);  

    }  



以上程序就定义了一个以人为对象的类,其中人这个对象具有年龄的属性,还具有说话的功能。而创建一个对象的格式:

       Person p = new Person();

这样就创建了一个人物对象,修改属性和使用功能的格式:

       p.age=20;//对对象属性的修改

       p.speak();//使用对象的功能

2、成员变量和局部变量

       之前我们用到的基本都是局部变量,现在我们将会使用成员变量。其实它两都是变量,规范写法上也没啥区别,都是标识符,但是在作用范围和内存中分配不同。

区别:

       成员变量:

                a)成员变量定义在类中,在整个类中都可以被访问。

                b) 成员变量随着对象的建立而建立,存在于对象所在的堆内存中。

                c) 成员变量有默认初始化值。

       局部变量:

                a) 局部变量只定义在局部范围内,如:函数内,语句内等。

                b) 局部变量存在于栈内存中。

                c) 作用的范围结束,变量空间会自动释放。

                d) 局部变量没有默认初始化值。

3、匿名对象

        匿名对象是对象的简化形式。

       匿名对象两种使用情况

                1、当对对象方法仅进行一次调用的时。

                2、匿名对象可以作为实际参数进行传递。

例: new Car();

注:如果对一个对象进行多个成员调用,必须给这个对象起个名字。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: