写在最前边:
研究生一枚,为后端实习和未来工作打基础。无意间发现韩顺平老师的课程,细心细致,讲课和吴恩达老师一样,都是保姆式讲解,各种基础知识都会补充,爱了。
韩顺平老师课程地址:https://www.bilibili.com/video/BV1fh411y7R8?spm_id_from=333.999.0.0
阅读提醒:本笔试适合有编程语言基础的伙伴阅读,因为本兔兔是本专业的,有c、c++、python 、sql基础,笔记中特别的基础的内容就没有记录。完全零基础的小伙伴建议跟着韩老师的课程自己记录。
Java 基础
第二阶段 java编程
第七章 面向对象编程(基础)
三、对象中的 成员方法 详述(续)
※3、方法递归执行机制
视频讲解地址
栈空间用完就会回收哦
怎样得到一个递归?
一定不要想的太复杂,要模拟过程,别想递归的过程!
首先确定递归结束的条件;然后模拟除去递归条件外的,通用过程/每步的过程,就行了!
千万别 “深思熟虑”
进阶应用:
※4、方法重载
概念
在同一个类中,可以有同名
但是参数列表不一致
的方法存在。
其中参数列表不一致指:传入数据类型排列不同,不是参数名不一样
方法重载也不关心返回类型。所以只有
返回类型不一样的方法不是
方法重载
好处
减轻了起名、记名的麻烦
例子
System.out.println(参数可以是各种类型
),其实对应了很多个参数不同的println方法
※5、具有可变参数的方法(方法重载的进阶使用)
概念
格式
修饰符 返回类型 方法名(数据类型... 参数名){ }
快速入门
细节
- 接收的参数个数可以是 [0 ~ 多个]独立变量,也可以是一个数组。没有限制
- 在方法中,接收的这些参数看成数组,使用数组的处理方式。
成员方法的参数列表可以可变参数和普通参数混合使用
,但是
可变参数要放在参数列表的 最后
- 一个形参列表只能有 一个可变参数
※※※ 四、变量作用域(很重要)
在java中,主要的变量就是 属性(成员变量)和局部变量。
规则 | 全局变量 | 局部变量 |
---|---|---|
概念 | 即对象的属性(成员变量) | 即对象的 成员方法中的 变量 或 代码块中定义的变量 |
作用域 | 整个 类体 | 定义它的方法 或 代码块中 |
使用范围 | 可以类中方法使用,可以其他类创建奔雷对象进而使用本类属性 | 只能在本类中使用 |
是否需要赋初值 | 不需要,有默认值 | 必须赋值才能使用,否则报错 |
修饰符 | 可以加修饰符 | 不可以加修饰符 |
|生命周期 | 较长。伴随对象而生而亡|较短。伴随代码块/方法 而生而亡
注
1、属性和局部变量可以 重名。那其他代码执行时就遵循 就近原则
使用变量
五、构造器(构造方法)constructor
用途: 在创建A类的对象时,可以指定一些
初始化
操作。比如,创建人类对象时,初始化时指定性别为女。
格式:[修饰符] 类名(形参列表){ 方法体; }
说明:
1、构造器没有 返回类型
2、构造器的名字就是类名,必须一致
3、构造器由系统调用
4、一个类中 可以有多个不同的构造器
5、如果类中没有定义构造器,那么紫铜会自动给其生成一个
默认无参构造器
。程序员也可以重写这个构造器使其满程序需要。class A{ A(){ } }
举例
指定Person类的对象p1的初始化姓名为smith,年龄为80
六、对象创建流程(面试考)
文字解释
内存变化解释
七、this的使用
在类中使用,随对象的创建而生成对应的this。
主要是为了区别类中 成员属性与传入参数,避免 就近原则带来的未知错误。