写在开头
面向对象编程是当今主流的程序设计思想,已经取代了过程化程序开发技术.
Java 是完全面向对象的高级编程语言.所以必须熟悉面向对象才能够编写 Java 程序。
对 Java 语言来说,一切皆是对象。把现实世界中的对象抽象地体现在编程世界中,一个对象代表了某个具体的操作。一个个对象最终组成了完整的程序设计,这些对象可以是独立存在的,也可以是从别的对象继承过来的。对象之间通过相互作用传递信息,实现程序开发。
今天我们说一下Java编程的核心思想:面向对象.
面向对象思想
- 面向对象和面向过程
举个栗子形象的表达下面向对象和面向过程吧:
现在我们有一个操作:把大象放进冰箱里,然后再拿出来.
面向过程的做法是:
把冰箱打开-把大象放进冰箱里-关闭冰箱门-打开冰箱门-把大象拿出来-over面向对象的做法是:
冰箱打开-冰箱存储大象-冰箱关闭-冰箱打开-冰箱释放大象-over
解析下两个过程,我们发现面向过程强调的是功能的行为
,而面向对象把功能装进了冰箱这个对象里,强调具备了功能的冰箱
;面向过程的执行者是一直变化的,而面向对象的执行者固定在了冰箱身上;面向过程相对于面向对象会更复杂些.
黑马的一位老师讲的特别好,我这边也贴出来:
- 面向对象的特点
- 是一种符合人们思考习惯的思想
- 可以将复杂的事情简单化
- 将程序员从执行者转换成了指挥者
完成需求时:
先要去找具有所需的功能的对象来用。
如果该对象不存在,那么创建一个具有所需功能的对象。
这样简化开发并提高复用
- 面向对象的特征:封装(encapsulation),继承(inheritance),多态(polymorphism)
类与对象
类
类:一系列的属性(特征)和功能的集合
举例 : Person 类
类的属性: 姓名,年龄
功能(方法): 吃饭,睡觉,打豆豆
属性: 表示一个事物的特性,特征
在Java中,属性的表现方式,定义为成员变量
成员变量 : 1)首先是一个变量(数据类型 变量名 = 变量值;)
2)定义位置: 类中,方法外
代码中看就更容易理解了:
1 | // 定义了一个类 Person |
功能: 方法,表示能做什么事情,或者能完成什么功能
方法的定义:
修饰符 返回值类型 方法名(参数列表)
{
方法要实现的功能;
}
代码中看就更容易理解了:
1 | // 定义了一个类 Person |
对象
对象的创建方式:
- 类对象创建公式: 类名 变量名 = new 类名();// 创建对象,实例化对象
Person p = new Person();
new : 在内存中开辟空间
Person() : 调用了Person这个类的构造方法(构造函数,构造器),空参数的构造方法(后面讲解)
- 使用这个对象(使用类的成员变量以及方法)
属性使用:
1) 属性的获取:
p.name;
p.age;
2) 属性的赋值:
p.name = “张三”;
p.age = 25;
3) 属性的使用范围:
自成员变量定义开始,可以使用在整个类中
方法的使用:
p.eat();
p.sleep();
说明: 以下代码,Person和PersonTest在同一个文件夹下,因此PersonTest中创建Person对象,不需要导包
1 | // 定义了一个类 Person |
1 | // 用于进行Person类的测试 |
创建对象的内存图:
晚安
今天就到这里了,明天见,加油!