[黑马程序员](第9天)面向对象小结
2015-07-27 22:58
513 查看
------- android培训、java培训、期待与您交流! ----------1、什么是面向对象
从四个方面来回答:
1)是基于面向过程而言的
2)什么是面向对象和面向过程:
所谓面向过程是基于方法,强调的是过程(强调的是这个方法有什么样的执行效果)
所谓面向对象是基于对象,强调的是对象,它强调的是该对象可以完成什么样的功能
3)陈述一遍面向对象的特点:
(1)更符合人们看待事物的角度
(2)将复杂的事物简单化
(3)程序员由执行者变成了操作者
4)举例说明一下:
比如MP3,它作为一个类,有播放歌曲的功能,但是我们并不需要知道这个是怎么实现的,只需要
调用它播放音乐的方法就可以了。
2.private封装:
私有的内容仅在本类中有效
注意:私有仅仅是封装的一种体现而已
3、什么是类?什么是成员方法?什么是成员变量?什么是对象?
类就是属性和行为的集合,是一个抽象的概念
对象:就是类的实例类的实现
成员变量:其实就是属性
成员方法:其实就是行为
4.什么是构造方法?
就是构造创建对象时说调用的函数
作用?
对对象进行初始化和赋值
与一般函数的区别?
对象一被建立就调用,而且只能被调用一次
细节:
构造方法是有return语句的
5.静态代码块:
特点:随着类的加载而加载,而且只执行一次
作用:用于对类进行初始化
构造代码块:
可以对所有的对象进行初始化---注意:是对象!!
构造方法:
是对对应的对象进行针对化的初始化
6、静态变量,成员变量与局部变量的区别?
1)定义的位置不同:成员变量是定义在方法外类中,局部变量是定义在方法中。
2)初始化值不同:成员变量可以不用手动初始化,可以自动被付一个默认值。而局部变量的初始化必须赋值
3)生命周期不同:成员变量随着对象的建立而建立。局部变量则与方法同步。静态变量随着类的建立而建立
4)储存的位置不同:成员变量被储存在堆内存中,而局部变量被储存在栈内存中,静态变量被储存在方法区的共享区
5)调用方式不同:静态变量可以被类名调用
9静态的使用:
当分析对象中所具备的成员变量的值都是相同的 。
这时这个成员就可以被静态修饰。
只要数据在对象中都是不同的,就是对象的特有数据,必须存储在对象中,是非静态的。
如果是相同的数据,对象不需要做修改,只需要使用即可,不需要存储在对象中,定义成静态的
从四个方面来回答:
1)是基于面向过程而言的
2)什么是面向对象和面向过程:
所谓面向过程是基于方法,强调的是过程(强调的是这个方法有什么样的执行效果)
所谓面向对象是基于对象,强调的是对象,它强调的是该对象可以完成什么样的功能
3)陈述一遍面向对象的特点:
(1)更符合人们看待事物的角度
(2)将复杂的事物简单化
(3)程序员由执行者变成了操作者
4)举例说明一下:
比如MP3,它作为一个类,有播放歌曲的功能,但是我们并不需要知道这个是怎么实现的,只需要
调用它播放音乐的方法就可以了。
2.private封装:
私有的内容仅在本类中有效
注意:私有仅仅是封装的一种体现而已
3、什么是类?什么是成员方法?什么是成员变量?什么是对象?
类就是属性和行为的集合,是一个抽象的概念
对象:就是类的实例类的实现
成员变量:其实就是属性
成员方法:其实就是行为
4.什么是构造方法?
就是构造创建对象时说调用的函数
作用?
对对象进行初始化和赋值
与一般函数的区别?
对象一被建立就调用,而且只能被调用一次
细节:
构造方法是有return语句的
5.静态代码块:
特点:随着类的加载而加载,而且只执行一次
作用:用于对类进行初始化
构造代码块:
可以对所有的对象进行初始化---注意:是对象!!
构造方法:
是对对应的对象进行针对化的初始化
6、静态变量,成员变量与局部变量的区别?
1)定义的位置不同:成员变量是定义在方法外类中,局部变量是定义在方法中。
2)初始化值不同:成员变量可以不用手动初始化,可以自动被付一个默认值。而局部变量的初始化必须赋值
3)生命周期不同:成员变量随着对象的建立而建立。局部变量则与方法同步。静态变量随着类的建立而建立
4)储存的位置不同:成员变量被储存在堆内存中,而局部变量被储存在栈内存中,静态变量被储存在方法区的共享区
5)调用方式不同:静态变量可以被类名调用
9静态的使用:
当分析对象中所具备的成员变量的值都是相同的 。
这时这个成员就可以被静态修饰。
只要数据在对象中都是不同的,就是对象的特有数据,必须存储在对象中,是非静态的。
如果是相同的数据,对象不需要做修改,只需要使用即可,不需要存储在对象中,定义成静态的
相关文章推荐
- 黑马程序员--JAVA<正则表达式>
- 【剑指Offer面试题】 九度OJ1388:跳台阶
- 黑马程序员--iOS--C基础(指针)
- 黑马程序员------OC 对象和类
- 黑马程序员——Java基础---正则表达式
- 【剑指Offer面试题】 九度OJ1387:斐波那契数列
- 黑马程序员--JAVA<四题经典编程题>--
- 面试题的一些总结
- 面试:实现内存复制函数
- 面试题 —— 替换空格(ReplaceBlank)
- 黑马程序员----JAVA基础----泛型及工具类
- 程序员历练之路
- 程序员必读的六本书
- 程序员须知的基础算法整理
- 黑马程序员-ios学习笔记 oc 继承
- iOS 经典面试题
- 如何准备机器学习工程师的面试 ?
- 阿里一面的面试经历
- 面试题24_二叉搜索树的后序遍历序列
- [置顶] 程序员练级指南