A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 张研老师 于 2015-11-30 08:51 编辑

一、理解面向对象
        我们知道c语言是一门面向过程的语言,那么面向对象就是相对面向过程而言的。如把大象装进冰箱,c语言强调的是功能行为:打开冰箱——>把大象装进冰箱——>关闭冰箱。而Java面向对象的思想就是强调具有功能的对象:冰箱打开,冰箱存储,冰箱关闭。感觉上就是过程是你自己亲自在做,而面向对象却是你指挥着对象去做。面向对象和面向过程都是一种思想,就看自己怎么想了,面向对象是基于面向过程的。
面向对象的特点:
        1. 是一种符合人们思考习惯的思想
        2. 可以将复杂的事情简单化
        3.将程序员从执行者转换成了指挥者
        4. 完成需求时:
                a)先要去找具有所需的功能的对象来用。
                b) 如果该对象不存在,那么创建一个具有所需功能的对象。
                c) 这样简化开发并提高复用。
        在Java的开发过程,其实就是不断的创建对象,使用对象,指挥对象做事情。设计的过程,其实就是在管理和维护对象之间的关系。
面向对象的三个特征:
        封装(encapsulation)   继承(inheritance)   多态(polymorphism)
面向对象的最高境界:万物皆对象(面试时慎用)。

二、类与对象

1、类与对象的关系

先看一个示例图:


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

类的定义:

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

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

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

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

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

如:

[java] view plaincopy

1. class Person  

2. {  

3.     int age;  

4.     private void speak()  

5.     {  

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

7.     }  

8. }  

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

       Person p = new Person();

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

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

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

2、成员变量和局部变量

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

区别:

       成员变量:

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

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

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

       局部变量:

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

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

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

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


评分

参与人数 2技术分 +2 黑马币 +10 收起 理由
张研老师 + 2 + 5 赞一个!
董笑长 + 5 总结的不错

查看全部评分

3 个回复

倒序浏览
顶一下。。。。。
回复 使用道具 举报
面试估计要考
回复 使用道具 举报

相信我会的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马