AdaultBird--我的黑马程序员之路!Chapter11---面向对象概述!

来源:互联网 发布:linux 修改ip命令 编辑:程序博客网 时间:2024/05/20 17:25

2015年9月12日,今天开始全面复习,首先来看面向对象!

一、什么是面向对象?

面向对象是一种编程思想,该思想是相对于面向过程而言的。面向过程强调的是功能和行为,而面向对象强调的是封装了功能和行为的对象。

二、面向对象在java中的体现---类与对象

1、类就是对现实生活中的事物的一种描述,而对象则是这类事物当中实实在在的个体;

2、描述,就是提取对象中的共性内容,对具体的抽象,映射到java中,描述就是class定义的类,具体对象就是对应java在堆内存中用来建立的实体。

3、定义类就是定义属性和行为,属性和行为共同称为类的成员。

扩展:成员变量在堆内存中,因为对象的存在,才在堆内存中存在;局部变量在栈内存中。

4、匿名对象

(1)、匿名对象是对象的简化形式

(2)、匿名对象的两种使用情况:当对对象的方法仅调用一次时;匿名对象可以作为参数进行传递

三、构造函数

1、构造函数的特点:

(1)、函数名与类名相同

(2)、不用定义返回值类型

(3)、不可以写return语句

2、作用:对对象进行初始化

3、细节:当一个类没有构造函数时,系统会默认加入一个空参数的构造函数

注意:(1)、默认构造函数的特点(2)、多个构造函数是以重载的形式出现的

4、什么时候定义构造函数?

当分析事物时,该事物存在具备一些特性或者行为,那么将这些内容定义在构造函数中

5、构造代码块

(1)作用:给对象进行初始化,对象一建立就运行,而且优先于构造函数

(2)与构造函数的区别:构造代码块是对所有的对象进行初始化,而构造函数只对相应的对象进行初始化

(3)构造代码块中定义的是不同对象共性的初始化内容

四、this关键字,及与super的区别

this代表所在函数的类的对象的引用

super所在函数的类的父类对象的引用

五、static关键字

1、什么时候使用静态

(1)当对象存在共享数据时,该数据被静态所修饰;

(2)对象中有特有数据时,要定义成非静态存在于堆内存中

2、什么时候使用静态函数

当功能内没有访问到非静态数据(对象的特有数据),那么该功能可以定义成静态的

六、单例设计模型

1、什么是设计模式

对解决某一类问题最行之有效的方法

2、单例设计模式

解决一个类在内存中只存在一个对象

3、单例设计模型的实现方式?

(1)私有化构造函数

(2)在本类内部创建一个对象

(3)对外提供一个访问本类对象的方法

0 0
原创粉丝点击