黑马程序员--面向对象
2015-07-23 13:08
561 查看
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
下面具体的例子:
如:把大象放入冰箱中。
面向过程的步骤:
打开冰箱-->放入大象-->关闭冰箱
“打开”,“放入”,“关闭”我们可以理解为为具体的动作。在代码中体现的是函数或者方法。
面向对象的步骤:
冰箱打开-->冰箱存储-->冰箱关闭
三个动作都是以冰箱为主题的,我们只是指挥它执行了他自己的功能,在代码中我们就把这些功能封装成为了对象。
设计:其实就是管理和维护对象的过程
特征:封装、继承、多态
对象是这类食物实际存在的个体。
形象的例子:图纸--->汽车
其中:图纸可以理解为类,汽车可以理解为对象,由此可见,一个类可以对应多个对象。
属性:对应类中的成员变量。
功能:对应类中的函数。
1.定义在类中,整个类都可以访问。
2.随着对象的产生而建立(堆内存中分配一部分内存),随着对象的消失而消失。
3.有默认初始化值。
局部变量:
1.定义在函数、语句内等,只能在所属的区域访问。
2.存在于栈内存中,作用区域结束,释放内存。
3.局部变量没有初始化值。
特点:对对象中的方法只调用了一次,可以作为实际参数进行传递。
如何理解:作为实际参数进行传递,即作为一个参数传给某个方法。在方法中可调用对象中的成员。
区分:基本数据类型参数及引用数据类型参数传递的区别
基本数据参数存在于栈内存中,作用区域为其方法区域,随方法的结束释放内存。
引用数据类型指向的堆内存中的数据,方法结束后堆内存没有马上结束,所以可以进行参数传递。
好处:将变化隔离,便于使用,提高重用性,提高安全性。
原则:将不需要外界访问的内容都封装起来,对外提供方法访问。
关键字:private(私有)
1.私有只是封装的一种体现形式而已,即封装不是私有。
2.用于修饰成员(成员变量和成员函数),被私有的成员只能在本类中访问。
3.对私有的成员变量,对外提供setxxx和getxxx访问,提高了访问的安全性。
特点:函数名于类名相同,不需要定义返回值类型,不用return语句。
注意:
1.一个类没有定义构造函数时,系统会默认定义一个空(类名(){})构造函数。
2.构造函数只在对象建立时调用一次,而一般函数可多次调用。
3.当分析事物时,事物本身就具备的特性或者行为,这定义在构造函数中。
构造代码块
特点:
1.对象一建立就运行,优先于构造函数
2.构造代码块给所有的对象进行初始化,而构造函数只给传入特定属性的对象初始化
静态代码块
随着类的加载而加载,只执行一次,优先于主函数,对类进行初始化。
特点:
1.随着类的加载而加载,消失而消失,主体是类不是对象;
2.有限与对象而存在;
3.被所有对象共存;
4.可以直接被类名调用。
使用注意事项:
1.静态方法只能访问静态成员,若要访问非静态成员需要建立对象后访问。
2.不能使用this、super关键字。
3.主函数是静态的。
静态的利弊
利:对共享且不需要改变的数据进行单独储存,节省存储空间(存储在方法区内存中),可以直接被类名调用。
弊:静态方法只能访问静态成员。
public static void main(String[] args)
public: 代表主函数函数访问权限是最大的
static: 代表主函数是随着类的加载而存在的
void: 代表主函数没有集体的返回值类型
main: 不是关键字,但是特殊的单词,被jvm识别调用
String[] args: 传入的参数类型是字符串数组。
类开头:
/**
*对所建立的类进行功能描述
*@author 作者
*@version 版本
*/
方法开头:
/**
*对方法进行功能性描述
*@param 对接受数据类型进行描述
*@Return 若有返回值类型,对返回值类型进行描述。
*/
如果要对一个类进行文档化,该类必须是public的,私有方法不会再文档中体现。
对象
1.1 面向对象的概念:
面向对象是相对于面向过程而言的,由执行者过渡到了指挥者。下面具体的例子:
如:把大象放入冰箱中。
面向过程的步骤:
打开冰箱-->放入大象-->关闭冰箱
“打开”,“放入”,“关闭”我们可以理解为为具体的动作。在代码中体现的是函数或者方法。
面向对象的步骤:
冰箱打开-->冰箱存储-->冰箱关闭
三个动作都是以冰箱为主题的,我们只是指挥它执行了他自己的功能,在代码中我们就把这些功能封装成为了对象。
1.2 面向对象的开发、设计、特征:
开发:其实就是不断的找对象,建立对象,使用对象的过程。设计:其实就是管理和维护对象的过程
特征:封装、继承、多态
类
2.1 类与对象的关系
类实现了对事物的功能和特性的描述。对象是这类食物实际存在的个体。
形象的例子:图纸--->汽车
其中:图纸可以理解为类,汽车可以理解为对象,由此可见,一个类可以对应多个对象。
2.2 类的定义
类就是描述事物的属性和功能(行为)。属性:对应类中的成员变量。
功能:对应类中的函数。
2.3 成员变量与局部变量的区别
成员变量:1.定义在类中,整个类都可以访问。
2.随着对象的产生而建立(堆内存中分配一部分内存),随着对象的消失而消失。
3.有默认初始化值。
局部变量:
1.定义在函数、语句内等,只能在所属的区域访问。
2.存在于栈内存中,作用区域结束,释放内存。
3.局部变量没有初始化值。
2.4 匿名对象
匿名对象为对象的简化形式。特点:对对象中的方法只调用了一次,可以作为实际参数进行传递。
如何理解:作为实际参数进行传递,即作为一个参数传给某个方法。在方法中可调用对象中的成员。
区分:基本数据类型参数及引用数据类型参数传递的区别
基本数据参数存在于栈内存中,作用区域为其方法区域,随方法的结束释放内存。
引用数据类型指向的堆内存中的数据,方法结束后堆内存没有马上结束,所以可以进行参数传递。
2.5 封装
定义:指隐藏对象的属性和细节,仅对外提供公共的访问方式。好处:将变化隔离,便于使用,提高重用性,提高安全性。
原则:将不需要外界访问的内容都封装起来,对外提供方法访问。
关键字:private(私有)
1.私有只是封装的一种体现形式而已,即封装不是私有。
2.用于修饰成员(成员变量和成员函数),被私有的成员只能在本类中访问。
3.对私有的成员变量,对外提供setxxx和getxxx访问,提高了访问的安全性。
2.6 构造函数、构造代码块、静态代码块
构造函数:特点:函数名于类名相同,不需要定义返回值类型,不用return语句。
注意:
1.一个类没有定义构造函数时,系统会默认定义一个空(类名(){})构造函数。
2.构造函数只在对象建立时调用一次,而一般函数可多次调用。
3.当分析事物时,事物本身就具备的特性或者行为,这定义在构造函数中。
构造代码块
特点:
1.对象一建立就运行,优先于构造函数
2.构造代码块给所有的对象进行初始化,而构造函数只给传入特定属性的对象初始化
静态代码块
随着类的加载而加载,只执行一次,优先于主函数,对类进行初始化。
2.7 静态(static)
用法:是一个修饰符,可修饰成员变量或成员函数,当被静态修饰后,可直接用类名调用。特点:
1.随着类的加载而加载,消失而消失,主体是类不是对象;
2.有限与对象而存在;
3.被所有对象共存;
4.可以直接被类名调用。
使用注意事项:
1.静态方法只能访问静态成员,若要访问非静态成员需要建立对象后访问。
2.不能使用this、super关键字。
3.主函数是静态的。
静态的利弊
利:对共享且不需要改变的数据进行单独储存,节省存储空间(存储在方法区内存中),可以直接被类名调用。
弊:静态方法只能访问静态成员。
2.8 解析主函数
主函数是一个特殊的函数,作为程序的入口,可以直接被jvm(虚拟机)调用public static void main(String[] args)
public: 代表主函数函数访问权限是最大的
static: 代表主函数是随着类的加载而存在的
void: 代表主函数没有集体的返回值类型
main: 不是关键字,但是特殊的单词,被jvm识别调用
String[] args: 传入的参数类型是字符串数组。
2.9 文档注释(index.html文件)
格式:类开头:
/**
*对所建立的类进行功能描述
*@author 作者
*@version 版本
*/
方法开头:
/**
*对方法进行功能性描述
*@param 对接受数据类型进行描述
*@Return 若有返回值类型,对返回值类型进行描述。
*/
如果要对一个类进行文档化,该类必须是public的,私有方法不会再文档中体现。
相关文章推荐
- 剑指offer_面试题3_二维数组中的查找(简单问题亦不能忽视)
- 面试要这样“厚脸皮”才能成功!
- (原创)超好用!程序员必备在线画图工具!-----ProcessOn
- 三. 黑马程序员—-java基础—-IO流
- Android小记:Android程序员不可错过的十款实用工具
- 跨行清算系统的实现过程
- 二. 黑马程序员—-java基础—-几个系统类
- 阿里电话面试总结(PHP研发工程师)2015-7-22
- 阿里内推面试经验总结
- 黑马程序员训练营-------反射原理
- 黑马程序员训练营-----java设计模式
- 黑马程序员训练营---------TreeSet集合中对象进行排序的两种方式
- 最全面的前端面试问题及答案总结
- 面试准备
- 一. 黑马程序员—-java基础—-正则表达式
- 程序员应该被时常提醒的几点
- 五禽戏
- 今天面试了一个开发人员,谈谈面试的体会
- (转)传播正能量——做一个快乐的程序员
- 阿里负责人揭秘面试潜规则