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

时间:2022-08-20 06:02:21

1. 本周学习总结

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

2. 书面作业

1.clone方法

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

覆盖clone的方法,声明为public。实现Cloneable。object.clone方法返回一个值,必须用强制类型转换。

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

对于只想同包的或子类访问,用protected,因为Circle、Rectangle都继承自父类shape,所以需要子类需要访问主类。

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

不可以,会出现clone()方法不可见的错误。protected对于包外的类也是不可见的。所以一般我们写clone()方法,一般都用public来修饰。

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

关键代码

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

调用

Collections.sort(person,NameComparator);

Collections.sort(person,AgeComparator);

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

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

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

shapeComparator实现Comparator接口,使用匿名内部类并对compare进行重写。

4.GUI中的事件处理

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

事件源

事件对象

事件监听器

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

使用implements来实现接口public class EventMainGUI2 extends Frame implements ActionListener

public interface ActionListener extends EventListener {

/**
* Invoked when an action occurs.
*/
public void actionPerformed(ActionEvent e);

}

3. 码云上代码提交记录及PTA实验总结

题目集:jmu-Java-04-面向对象2-进阶-多态接口内部类

3.1. 码云代码提交记录

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

3.2实验总结

主要就是静态内部类的使用以及自定义接口使用