面向对象和面向过程
1. 面向过程
- 当需要实现一个功能的时候,每一个具体的步骤都要亲力亲为,详细处理每一个细节。
2. 面向对象
- 当需要实现一个功能的时候,不关心具体的步骤,而是找一个已经具有该功能的人来帮忙做。
- 特点:面向对象思想是一种更符合我们思考习惯的思想,它可以将复杂的事情简单化,并将我们以执行者变成了指挥者。面向对象的语言中,包含了三大基本特征:封装、继承、多态。
类和对象
类
- 类 :是一组相关属性和行为的集合。可以看成是一类事务的模板。使用事物属性特征和行为来描述该类事物。
- 属性:就是该事物的状态信息。
- 行为:就是该事物能够做什么。
类与对象的关系
- 类是对一类事物的描述,是抽象的。
- 对象是一类事物的实例,是具体的。
- 类是对象的模板,对象是类的实体。
类的定义
事物与类的对比
- 属性:事物的状态信息。
- 行为:事物能够做什么。
java中用.class描述事物
- 成员变量:对应事物的属性。
- 成员方法:对应事物的行为。
注意事项
- 成员变量是直接定义在类当中的,在方法外边。
- 成员方法不要写static关键字。
通常情况下,一个类并不能直接使用,需要根据类创建一个对象,才能使用。
- 寻包:也就是指出需要使用的类,在什么位置。对于和当前类属于同一个包的情况,可以省略导包语句不写。
import 包名称.类名称; - 创建:格式
类名称 对象名 = new 类名称();
Student stu = new Student(); 使用:分两种情况
- 使用成员变量 对象名.成员变量名
- 使用成员方法 对象名.成员方法名(参数)
注意事项
- 如果成员变量没有进行赋值,那么将会有一个默认值,规则和数组一样。当一个对象作为参数,传递到方法当中时,实际上传递去的是对象的地址值。当使用一个对象类型作为方法的返回值时,返回值其实就是对象的地址值。
局部变量和成员变量
定义的位置不一样(重点)
- 局部变量:在方法的内部
- 成员变量:在方法的外部,直接写类当中。
作用范围不一样(重点)
- 局部变量:只有方法当中才可以使用,出了方法就不能再用了。
- 成员变量:整个类全部可以通用。
默认值不一样(重点)
- 局部变量:没有默认值,如果想使用,必须手动进行赋值。
- 成员变量:如果没有赋值,默认会有默认值,规则和数组一样。
- 方法的参数是局部变量。参数在方法调用时必然会被赋值的。
内存的位置不一样
- 局部变量:位于栈内存。
- 成员变量:位于堆内存。
生命周期不一样
- 局部变量:随着方法进栈而诞生,随着方法出栈而消失。
- 成员变量:随着对象创建而诞生,随着对象被垃圾回收而消失。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。