一 面向对象思想
1.1面向对象思想概述
概述
Java语言是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想,我们在面向对象思想的指引下,使用Java语言去设计、开发计算机程序。
对象泛指现实中一切事物,每种事物都具备自己的属性和行为。
面向对象思想就是在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,描述成计算机事件的设计思想。
它区别于面向过程思想,强调的是通过调用对象的行为来实现功能,而不是自己一步一步的去操作实现。
面向对象思想总结:
1.面向过程:当要实现一个功能时,需要亲力亲为,处理每个细节
2.面向对象:当要实现一个功能时,不关心具体的实现步骤,只关心结果,找一个具有该功能的类,帮我们做事
3.面向对象的思想
(1)面向对象是基于面向过程的编程思想.
(2)面向过程:强调的是每一个功能的步骤
(3)面向对象:强调的是对象,然后由对象去调用功能
4.特点
(1)是一种更符合我们思考习惯的思想
(2)可以将复杂的事情简单化
(3)角色发生了转换,将我们从执行者变成了指挥者
1.2类和对象
类:是一组相关属性和行为的集合。使用事物的共有属性特征和行为特征来描述一类事物
对象:是一类事物的具体体现。对象是类的一个实例,必然具备该类事物的属性和行为。
1.3类与对象的关系
类:类是对现实生活中一类具有共同属性和行为的事物的抽象,是对一类事物的描述,是抽 象的。
对象:是能够看得到摸的着的真实存在的实体,是一类事物的实例,是**具体的**。
简单理解:类是理想模型,对象是物理实在。类拥有一类事物的共有特征。对象是具体 的事物。
二 类的定义和对象的创建和使用
2.1定义类
public class ClassName {
//成员变量
//成员方法
}
定义类:就是定义类的成员,包括成员变量和成员方法。
成员变量:和以前定义变量几乎是一样的。只不过位置发生了改变。在类中,方法外。
成员方法:和以前定义方法几乎是一样的。只不过把static去掉。
2.2 对象的使用
创建对象:
类名对象名= new类名();
使用对象访问类中的成员:
对象名.成员变量;
对象名.成员方法();
成员变量的默认值
| |数据类型 | 默认值 |
| ---- | ----------------------- | -------- |
|基本类型 | 整数(byte,short,int,long) | 0 |
| |浮点数(float,double) | 0.0 |
| |字符(char) | '\u0000' |(空格字符)
| |布尔(boolean) | false |
|引用类型 | 数组,类,接口 | null |
三 对象的内存图解
3.1对象内存图
在栈内存中运行的方法,遵循"先进后出,后进先出"的原则。变量p指向堆内存中的空间,寻找方法信息,去执行该方法。
对象调用方法时,根据对象中方法标记(地址值),去类中寻找方法信息。这样哪怕是多个对象,方法信息只保存一份,节约内存空间。
3.2成员变量和局部变量区别
1.在类中的位置不同
成员变量:类中,方法外
局部变量:方法中或者方法声明上
2.在内存中的位置不同
成员变量:堆内存
局部变量:栈内存
3.生命周期不同
成员变量:随着对象的创建而存在,随着对象的消失而消失
局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
4.初始化值的不同
成员变量:有默认值
局部变量:没有默认值。必须先定义,赋值,最后使用
5.作用范围不一样
成员变量:类中
局部变量:方法中