黑马程序员——java基础_面向对象
2015-08-01 20:41
597 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
面向对象是Java语言区别c语言的一个重要特点,也是学好Java必须掌握的重要部分。接下来我会根据视频教程,总结对Java面向对象的理解与应用,以及牵涉到的一些知识点。
一、理解面向对象
我们知道c语言是一门面向过程的语言,那么面向对象就是相对面向过程而言的。如把大象装进冰箱,c语言强调的是功能行为:打开冰箱——>把大象装进冰箱——>关闭冰箱。而Java面向对象的思想就是强调具有功能的对象:冰箱打开,冰箱存储,冰箱关闭。感觉上就是过程是你自己亲自在做,而面向对象却是你指挥着对象去做。面向对象和面向过程都是一种思想,就看自己怎么想了,面向对象是基于面向过程的。
面向对象的特点:
1. 是一种符合人们思考习惯的思想
2. 可以将复杂的事情简单化
3.将程序员从执行者转换成了指挥者
4. 完成需求时:
a)先要去找具有所需的功能的对象来用。
b) 如果该对象不存在,那么创建一个具有所需功能的对象。
c) 这样简化开发并提高复用。
在Java的开发过程,其实就是不断的创建对象,使用对象,指挥对象做事情。设计的过程,其实就是在管理和维护对象之间的关系。
面向对象的三个特征:
封装(encapsulation) 继承(inheritance) 多态(polymorphism)
面向对象的最高境界:万物皆对象。
二、类与对象
1、类与对象的关系
先看一个示例图:
![](https://img-blog.csdn.net/20130830214653890)
如图我们可以理解为:类就是图纸。汽车就是对象。
类的定义:
使用计算机语言就是不断的描述现实生活中的事物,而java中描述事物通过类的形式体现,类是具体事物的抽象,概念上的定义。
生活当中描述事物无非就是描述事物的属性和行为。如:人的身高,体重等属性;讲话跑步等行为。Java则是用类class来描述对象的属性和行为。定义类其实就是在定义类中的成员(成员变量和成员函数)。
属性:对应类中的成员变量。
行为:对应类中的成员函数。
而对象即是该类事物实实在在存在的个体。
如:
class Person
{
int age;
private void speak()
{
System.out.println("age="+age);
}
}
以上程序就定义了一个以人为对象的类,其中人这个对象具有年龄的属性,还具有说话的功能。而创建一个对象的格式:
Person p = new Person();
这样就创建了一个人物对象,修改属性和使用功能的格式:
p.age=20;//对对象属性的修改
p.speak();//使用对象的功能
2、成员变量和局部变量
之前我们用到的基本都是局部变量,现在我们将会使用成员变量。其实它两都是变量,规范写法上也没啥区别,都是标识符,但是在作用范围和内存中分配不同。
区别:
成员变量:
a)成员变量定义在类中,在整个类中都可以被访问。
b) 成员变量随着对象的建立而建立,存在于对象所在的堆内存中。
c) 成员变量有默认初始化值。
局部变量:
a) 局部变量只定义在局部范围内,如:函数内,语句内等。
b) 局部变量存在于栈内存中。
c) 作用的范围结束,变量空间会自动释放。
d) 局部变量没有默认初始化值。
3、匿名对象
匿名对象是对象的简化形式。
匿名对象两种使用情况
1、当对对象方法仅进行一次调用的时。
2、匿名对象可以作为实际参数进行传递。
例: new Car();
注:如果对一个对象进行多个成员调用,必须给这个对象起个名字。
面向对象是Java语言区别c语言的一个重要特点,也是学好Java必须掌握的重要部分。接下来我会根据视频教程,总结对Java面向对象的理解与应用,以及牵涉到的一些知识点。
一、理解面向对象
我们知道c语言是一门面向过程的语言,那么面向对象就是相对面向过程而言的。如把大象装进冰箱,c语言强调的是功能行为:打开冰箱——>把大象装进冰箱——>关闭冰箱。而Java面向对象的思想就是强调具有功能的对象:冰箱打开,冰箱存储,冰箱关闭。感觉上就是过程是你自己亲自在做,而面向对象却是你指挥着对象去做。面向对象和面向过程都是一种思想,就看自己怎么想了,面向对象是基于面向过程的。
面向对象的特点:
1. 是一种符合人们思考习惯的思想
2. 可以将复杂的事情简单化
3.将程序员从执行者转换成了指挥者
4. 完成需求时:
a)先要去找具有所需的功能的对象来用。
b) 如果该对象不存在,那么创建一个具有所需功能的对象。
c) 这样简化开发并提高复用。
在Java的开发过程,其实就是不断的创建对象,使用对象,指挥对象做事情。设计的过程,其实就是在管理和维护对象之间的关系。
面向对象的三个特征:
封装(encapsulation) 继承(inheritance) 多态(polymorphism)
面向对象的最高境界:万物皆对象。
二、类与对象
1、类与对象的关系
先看一个示例图:
如图我们可以理解为:类就是图纸。汽车就是对象。
类的定义:
使用计算机语言就是不断的描述现实生活中的事物,而java中描述事物通过类的形式体现,类是具体事物的抽象,概念上的定义。
生活当中描述事物无非就是描述事物的属性和行为。如:人的身高,体重等属性;讲话跑步等行为。Java则是用类class来描述对象的属性和行为。定义类其实就是在定义类中的成员(成员变量和成员函数)。
属性:对应类中的成员变量。
行为:对应类中的成员函数。
而对象即是该类事物实实在在存在的个体。
如:
class Person
{
int age;
private void speak()
{
System.out.println("age="+age);
}
}
以上程序就定义了一个以人为对象的类,其中人这个对象具有年龄的属性,还具有说话的功能。而创建一个对象的格式:
Person p = new Person();
这样就创建了一个人物对象,修改属性和使用功能的格式:
p.age=20;//对对象属性的修改
p.speak();//使用对象的功能
2、成员变量和局部变量
之前我们用到的基本都是局部变量,现在我们将会使用成员变量。其实它两都是变量,规范写法上也没啥区别,都是标识符,但是在作用范围和内存中分配不同。
区别:
成员变量:
a)成员变量定义在类中,在整个类中都可以被访问。
b) 成员变量随着对象的建立而建立,存在于对象所在的堆内存中。
c) 成员变量有默认初始化值。
局部变量:
a) 局部变量只定义在局部范围内,如:函数内,语句内等。
b) 局部变量存在于栈内存中。
c) 作用的范围结束,变量空间会自动释放。
d) 局部变量没有默认初始化值。
3、匿名对象
匿名对象是对象的简化形式。
匿名对象两种使用情况
1、当对对象方法仅进行一次调用的时。
2、匿名对象可以作为实际参数进行传递。
例: new Car();
注:如果对一个对象进行多个成员调用,必须给这个对象起个名字。
相关文章推荐
- 黑马程序员——数组
- 黑马程序员——流程控制
- 黑马程序员——基础语法
- 黑马程序员——OC中的封装
- 黑马程序员——初入Java
- 黑马程序员 第十篇 控制逻辑(foundation, completed)
- C语言面试题
- 【练习笔记】剑指offer-面试题8 :旋转数组的最小数字
- 【剑指Offer面试题】 九度OJ1368:二叉树中和为某一值的路径
- 优秀程序员必须知道的32个算法,提高你的开发效率
- 个人总结的一些面试技巧
- 程序员
- 【剑指Offer面试题】 九度OJ1367:二叉搜索树的后序遍历序列
- 技术人员如何去面试?
- 如何在面试中发现优秀程序员
- 剑指Offer面试题16(Java版):反转链表
- 黑马程序员——多线程2
- 程序员必读书单
- JSP 面试知识点
- java技术经理面试题