201521123119《Java程序设计》第6周学习总结

1. 本周学习总结

201521123119《Java程序设计》第6周学习总结

2. 书面作业

Q1.clone方法

Q1.1 Object对象中的clone方法是被protected修饰,在自定义的类中覆盖clone方法时需要注意什么?

只能在本类内部或者和Object同包的地方使用,而不能在其他类使用。

Q1.2 自己设计类时,一般对什么样的方法使用protected进行修饰?以作业Shape为例说明。

protected修饰的变量或方法只能被当前类,同包类或者子孙类继承或使用。在作业Shape类,有Circle、Rectangle这两个子类,因为Circle、Rectangle都继承Shape类型,所以其会拥有getPerimeter()与getArea()两种方法,所以可以用protected修饰。

Q1.3 在test1包中编写简单的Employee类,在test2包中新建一个TestProtected类,并在main中尝试调用test1包中的Employee的clone方法克隆一个新对象,能否成功?为什么?

不能成功。

Q2.使用匿名类与Lambda表达式改写题集面向对象2-进阶-多态接口内部类的题目5-2仅需粘贴关键代码与运行结果,图片不要太大。

匿名类:

201521123119《Java程序设计》第6周学习总结

结果:

201521123119《Java程序设计》第6周学习总结

Q3.分析下列代码,回答shapeComparator所指向的对象与Comparator接口有什么关系?

Comparator


其实就是用匿名内部类把compare进行重写,新建了一个比较器,那么这个shapeComparator类肯定是实现了Comparator接口的,并且可以通过Collection.sort进行调用。

Q4.GUI中的事件处理

Q4.1 写出事件处理模型中最重要的几个关键词。

事件源、事件对象、事件监听器

Q4.2 使用代码与注释,证明你理解了事件处理模型。

...

Q5.结对编程:面向对象设计

201521123119《Java程序设计》第6周学习总结

3. PTA实验总结

编写栈用ArrayList比用数组更容易,因为栈有先进后出的特点,而ArrayList中的添加删除等都有直接的代码可以应用于头尾位置,用数组编写需要定义栈顶指针,并且在操作中要处理指针的移动情况。在编写的过程中也要考虑入栈出栈为null的情况。

上一篇:已知一个字符串S 以及长度为n的字符数组a,编写一个函数,统计a中每个字符在字符串中的出现次数


下一篇:BZOJ 3123: [Sdoi2013]森林 [主席树启发式合并]