20165228 2017-2018-2 《Java程序设计》第6周学习总结
20165228 2017-2018-2 《Java程序设计》第6周学习总结
教材学习内容总结
- String类用来处理字符序列及其用法
- StringTokenizer对象及类的使用
- Scanner类用来解析字符序列中程序所需要的数据
- 了解StringBuffer类与String类的区别,并掌握其用法
- 使用Date及Calendar处理和日期、时间相关的数据
- 使用Math类、BigInteger类和Random类处理数据
- 使用String类调用format方法对数字进行格式化
- 使用Console类的对象控制输入的数据不在命令行显示
- 泛型类/对象的声明以及与普通类的区别
- 使用链表处理数据
- 堆栈对象的创建以及压栈、弹栈的操作等
教材学习中的问题和解决过程
- 问题1:console.next()怎么用?
- 问题1解决方案:如果直接取得上一个字符串(以空格或换行分隔),则使用next(),如果想取得用户输入的整行文字,则使用nextline()(以换行分隔)。
- 问题2:“格式化时间”的含义
- 问题2解决方案:取得不同详细程度的时间
代码调试中的问题和解决过程
- 问题1:为什么运行程序时会显示“找不到符号”?
- 问题1解决方案:在一个类中引用了另一个类,需要同时编译。 使用此方法后,程序运行成功了
代码托管
(statistics.sh脚本的运行结果截图)
上周考试错题总结
- 错题1
下列关于Override的说法,正确的是 ABC
A.子类所声明的成员变量的名字和从父类继承来的成员变量名字相同但类型不同时,子类会隐藏所继承的成员变量。
B.除了继承的方法之外,子类新定义的方法可以操作子类继承的成员变量。
C.子类重写的方法,方法名字、参数个数、参数类型和父类的方法完全相同。
D.重写方法可以操作被子类隐藏的成员变量和方法。
解析:重写方法既可以操作继承的成员变量、调用继承的方法,也可以操作子类新声明的成员变量、调用新定义的其他方法,但无法操作被子类隐藏的成员变量。如果子类想使用被隐藏的方法或成员变量,必须使用关键词super - 错题2
父类中有个public void fight(),子类中有个public void fight( Weapon w),这两个方法的关系是Override.
A.true
B.false
解析:子类重写的方法,方法名字、参数个数、参数类型和父类的方法完全相同。这里是重载 - 错题3
下列关于abstract关键字的说法,正确的是
A.可以使用static修饰abstract方法。
B.非abstract类中不可以有abstract方法。
C.不能使用new创建abstract类的对象。
D.不允许使用final和abstract同时修饰一个方法.
E.可以使用public abstract void eat(){};来声明抽象方法eat()。
F.抽象方法只保留方法的功能,而具体的执行,交给继承抽象类的子类,由子类重写此抽象方法。
解析:5.9节。A项:abstract关键字不能应用于static、private或final 方法。E项:不能有方法体。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 25篇 | 400小时 | |
第一周 | 235/235 | 1/1 | 15/15 | |
第二周 | 224/459 | 2/3 | 15/30 | |
第三周 | 443/902 | 1/4 | 15/73 | |
第四周 | 577/1479 | 2/6 | 17/90 | |
第五周 | 1222/2360 | 1/7 | 14/104 | |
第六周 | 1527/3294 | 1/8 | 14/118 |
- 计划学习时间:15小时
- 实际学习时间:14小时