面向对象概述
面向对象思想
- 面向过程思想与面向对象思想
面向过程:功能的每一步都需要去一一实现,繁琐
面向对象:将功能对象化,具体的操作步骤交给对象去完成,直接调用对象去获取结果 - 面向过程特点与面向对象特点
面向过程特点:功能的每一步都需要去实现,是执行者
面向对象特点:将功能交给对象实现, 从执行者变为指挥者
类与对象及其使用:
- 类与对象概述:
类:一组拥有相关属性和行为的集合
对象:是该类事物的具体体现
对象的内存图
- 一个对象的内存图:
- 两个引用指向同一个对象内存图:
- 成员变量和局部变量区别:
成员变量:定义在main中方法外,存储在对内存中,当对象创建时,变量创建,对象销毁时,变量销毁;有默认值
局部变量:定义在main中方法中或者方法声明上(形式参数),存储在栈内存中,当此变量存在的方法被调用时创建,方法执行结束时销毁;没有默认值,必须赋初始值才能被调用
面向对象特性之封装
封装与私有关键字
- private关键字(私有)
是一个关键字
可以用来修饰方法或者变量
只能在同一个类中被访问 - 封装的概述和好处:
封装:是java中三大特性(封装,继承,多态)之一,就是将类中的属性,通过private进行修饰,然后提供set/get方法,外界通过调用类提供的方法获取属性结果,换句话说,就是将对象的方法隐藏在对象内部,外部通过对象来获取到方法的值,不需要知道方法具体的实现过程和方式。
好处:确保数据的安全性,简化方法的操作(通过调用对象来完成操作,不需要知道方法的具体实现)
this关键字
- this关键字由来和使用:
this代表所在类的对象的引用,及调用哪个对象,this就代表他
当局部变量和成员变量的名称相同时,要对成员变量赋值,就需要通过this关键字
this.name = name;表示将局部变量name的值,赋值给这个对象的成员变量name
面向对象之构造方法
构造方法:
用于创建对象,并给创建的对象初始化
- 构造方法格式:
public 类名(参数类型 参数1,参数类型 参数2….){方法体}
a:方法名与类名相同
b:没有返回值类型,连void都没有
c:没有具体的返回值 - 构造方法注意事项与重载
注意事项:
如果不自定义构造方法,那么系统会自动创建一个无参构造方法,一旦自定义了构造方法,那么系统不会再自动创建一个无参构造方法
重载:
重载就是在同一个类中,函数的方法名相同,参数列表(参数个数或参数类型)不同
构造方法也是可以重载,只需要满足重载的规则即可
java基础知识1——数据类型
java基础知识2——运算符
java基础知识3——流程控制语句
java基础知识4——数组
java基础知识5——方法
java基础知识6——面向对象
java基础知识7——String&StringBuilder
java基础知识8——ArrayList集合
java基础知识9——IO