AdaultBird--我的黑马程序员之路!Chapter11---面向对象概述!
2015-09-12 13:27
393 查看
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)对外提供一个访问本类对象的方法
一、什么是面向对象?
面向对象是一种编程思想,该思想是相对于面向过程而言的。面向过程强调的是功能和行为,而面向对象强调的是封装了功能和行为的对象。
二、面向对象在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)对外提供一个访问本类对象的方法
相关文章推荐
- 面试练习题
- leetcode面试准备:Triangle
- 黑马程序员------Java基础(其他对象)
- 求职之路(拿到百度、美团、趋势科技、华为offer)
- 面试常见题
- The Log:每个程序员都应该知道有关实时数据的统一抽象(3)日志与实时流处理
- The Log:每个程序员都应该知道有关实时数据的统一抽象(2) 数据集成
- The Log:每个程序员都应该知道有关实时数据的统一抽象(1)概念
- Android开发岗面试之常用面试题
- 关于现代 CPU,程序员应当更新的知识
- 教你如何迅速秒杀掉:99%的海量数据处理面试题
- 黑马程序员——java基础知识篇——>IO流
- 黑马程序员——java基础知识篇——>集合
- 黑马程序员——java基础知识篇——>String类
- PHP [面试秘籍] 程序员经典面试回答,怎样回答面试官的问题
- 面试题
- 面试
- 前端面试题
- 求职之路(2015南京站拿到百度、美团、趋势科技、华为offer)
- 黑马程序员——java基础知识篇——>数组