1、面向对象基础
1.1、面向对象思想
面向对象(Object Oriented)是软件开发方法。面向对象的概念和应用已超越了程序设计和软件开发,是一种对现
实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。
面向对象三个特征:封装性,继承性,多态性
面向对象三个概念:OOA(面向对象分析)、OOD(面向对象设计)、OOP(面向对象程序)
1.2类
类表示一个共性的产物,是一个综合的特征,而对象,是一个个性的产物,是一个个体的特征。(类似生活中的图纸与实物的概念。)
类必须通过对象才可以使用,对象的所有操作都在类中定义。
类由属性和方法组成:
· 属性:就相当于人的一个个的特征
· 方法:就相当于人的一个个的行为,例如:说话、吃饭、唱歌、睡觉
1.3 创建内存对象分析
1.3.1 栈
栈是一个先进后出的存储空间,存放的是基本数据类型的数据和引用数据类型的引用。因为存储数据大小受到限制,所以大数据存放在堆中。
1.3.2 堆
堆存放的是对象,堆与栈内存不同的地方是,堆在开辟内存空间的时候不需要关心开辟多大,也不需要关注内存的占用时长。堆内存的释放由GC完成。Java语言通过new关键字来在堆中开辟一个内存空间。
1.4 构造方法
作用:用作对象的初始化。
格式:类名(){}
如果自定义的方法不带构造函数,会自动生成一个无参的构造函数(建议在自定义方法的时候添加一个无参的构造函数)。如果自定义了一个带参的构造函数,不会自动生成无参的构造函数。(建议当自定义类中有非常量的属性时,定义一个全属性的构造函数)
PS:构造函数不带返回值。
1.5方法的重载
一个类中的定义的方法,是可以重载的
方法的重载要求:
1、方法名称相同
2参数类型或参数长度不同,或者参数类型顺序不同
作用:可以提高代码的复用率,提高了灵活性
PS:方法的重载与返回值无关!
方法的重载 ,可以让我们在不同的需求下, 通过传递不同的参数调用方法来完成具体的功能。
1.6 构造方法的重载
构造方法的重载要求:
1、构造方法名一致
2、参数列表长度或者类型不同
作用:对不同的对象使用不同的构造方法,调用不同的方法完成初始化。提高了灵活性
1.7匿名对象
对象引用不给予名字成为匿名对象。使用一次后被GC释放。
适用范围:只使用一次对象
2021年8月17日