预备役2.20学习总结

1. 上午

看Java书《Head First Java》,第四章结束。
重点内容是封装,封装指封装对象。为什么要封装?其实封装可以理解为将某个对象里的实例变量包起来不会随意被其他用户修改(代表私有)。
例如:
一个整型变量size,定义时在之前加一个 private,在气候加入 setget 语句,set 接收 外部传入的值,可以添加一些判断条件,如:传入 s ,set语句中判断只有在 s < N 时才能 赋给size;以此防止了数据被随意修改的危险,get 传出一个值。

Java中写方法(函数)与C非常类似,实参与形参也是一一对应,返回值也应该类型也要与函数定义时相同(也有例外,定义byte型,可以返回 int 型)。方法结束可以带有返回值也可以没有返回值。
在对象中实例变量不初始化他也拥有值,但是在方法中的变量不初始化就直接用则会报错

在定义类时 class前加public 则表示对所有用户都开放,加 private 则表示私有,只能自己用。
预备役2.20学习总结
预备役2.20学习总结
预备役2.20学习总结
即使放在两个不同文件中,因为 class PPYTestDrive 前加了public,所有可以被 class PPY调用。
(三小时)

2. 下午

1.看学姐直播教学,正好我也看到了封装那里,但是自己敲的时候还不熟练,所有接下来要多敲敲代码。
2.PAT上刷题
预备役2.20学习总结
有一道纯排序题,发现自己写的 快排和归并 与C++里的sort 耗时与内存有所差别,但归并排序与sort耗时差不多,快速排序与sort有几组差别很大。
预备役2.20学习总结
预备役2.20学习总结
预备役2.20学习总结
我觉得可能归结于快速排序是不稳定排序,在耗时很长的那几组数据,可能做了很多无用功。
虽然 sort 很好用,但是快速排序和归并排序也不能忘,今天这样练练手熟悉熟悉。
(四小时)

3. 晚上

1.写完数据结构学习树的博客
https://blog.****.net/qq_45839708/article/details/104416301
2.完成Java作业
(两小时半)