20155218 2006-2007-2 《Java程序设计》第4周学习总结
20155218 2006-2007-2 《Java程序设计》第4周学习总结
教材学习内容总结
- 重新定义:在继承父类之后,定义与父类中相同的部署方法,但执行的内容不同。
- 可以使用@override来确保子类与父类方法相同的签署。
- 如果要取得父类中的方法定义,可以在调用方法前,加上super关键字。调用的父类不能定义为private且对于父类中的方法权限,只能扩大不能缩小。
- 如果class前使用了final关键字定义,那么表示这个类是最后一个。
- 使用interface来定义抽象的行为外观,方法要声明为public abstract,无须且不能有操作。
- public/package/protected/private的区别
教材学习中的问题和解决过程
- 问题1:this和super的区别和使用
- 解决方案:
- this 关键字是类内部当中对自己的一个引用,可以方便类中方法访问自己的属性;
- 可以返回对象的自己这个类的引用,同时还可以在一个构造函数当中调用另一个构造函数。
- this()是调用自己其他的构造函数,super()是调用自己继承的父类的构造函数。
- this和super不能用在同一个构造函数当中,JAVA 中规定使用 this 和 super 时必须放在构造函数第一行,只有一个第一行。
- 问题2:内部类的使用方法?
- 解决方案:匿名内部类也就是没有名字的内部类。正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写
但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口。(具体分析)
代码调试中的问题和解决过程
-
问题1:
-
解决方案:将所需要的所有的程序放到同一个包内,按所需要的程序按序进行编译,就不会出现这样的错误。
-
问题2:
-
解决方案:这个就是由于我在shark的那个类中,多打了一个%s,出现的错误。
-
问题3:
-
解决方案:这个问题的出现在是我自己编写上去的代码,然后出现了这样的错误。
将super(name)换成this.name=name即可。
代码托管
-
代码提交过程截图:
-
代码量截图:
上周考试错题总结
- 填空:Linux Bash中,(grep )命令可以进行全文搜索。
- 填空:p86 命令行下编译Guess.java的命令是(javac -d . Guess.java)
- 判断: Java中,=与==并没有在基本类型和类类型的不同。(OK)
- 两个Integer对象比较大小,可以使用(comareTo())方法
- CH04 填空:可以使用java.util.Arrays的(fill())方法把数组初始化成相同的值
- CH04 填空:Java中的多维数组都是由(一维数组组成)。
- CH04 填空: p109 Average.java 求1,2,3,4,5的平均值的命令是(java cc.openhome.Average 1 2 3 4 5
- “30”转化为byte类型的30的语句是(Byte.parseByte(“30”);)。
- CH05 填空:调用p145 sum函数计算1+2+3+4+5的代码是(MathTool.sum(1,2,3,4,5))![]
其他(感悟、思考等,可选)
在打代码的过程中,我尝试着自己看懂课本意思自己去打代码,但在这个过程中,语法错误出现了很多,很多都是非常初级的错误,甚至有因为拼写而出现的问题,在调试的过程中也花费了很多的时间。我一直用有道云笔记写博客,但这次在快写完的时候,内容被清空了,导致我重新写了一遍。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 15/15 | 1/4 | 12/12 | |
第二周 | 140/155 | 1/5 | 18/30 | |
第三周 | 677/817 | 1/ 6 | 20/50 | |
第四周 | 583/1400 | 1/7 | 20/70 |
-
计划学习时间:18小时
-
实际学习时间:20小时