---恢复内容结束---
1. 本周学习总结
1.1 面向对象学习暂告一段落,请使用思维导图,以封装、继承、多态为核心概念画一张思维导图,对面向对象思想进行一个总结。
注1:关键词与内容不求多,但概念之间的联系要清晰,内容覆盖面向对象的核心内容即可。
注2:颜色要少、连线不要复杂,必要的时候要在连线上进行说明。
1.2 可选:使用常规方法总结其他上课内容。
答:这周上了两节课,第一节讲了对象克隆(Cloneable接口)、嵌套类(Nested classes)、局部类(Local class)、匿名类、还有图形。
嵌套类中非static又被称为内部类(inner class)、内部类可以访问外围类的属性和方法,包括private修饰的属性和方法。局部类与内部类相似。匿名类没有类名,匿名类内部用Lambda表达式更简化代码。
第二节课讲了GUI事件处理、监听器(ActionListener)、焦点事件、鼠标相关事件(MouseEvent)、事件适配器、标签、选择组件。
@Override? 作用:覆盖父类的方法。
2. 书面作业
1.clone方法
1.1 Object对象中的clone
方法是被protected修饰,在自定义的类中覆盖clone方法时需要注意什么?
答: 首先说下protected修饰的方法只能在本包里被访问,自定义的类覆盖Object里的clone方法需要注意的又两个
one 实现Cloneable 接口
two @Override public Object clone() throws CloneNotSupportedException
1.2 自己设计类时,一般对什么样的方法使用protected进行修饰?以作业Shape
为例说明。
答:需要保密,不能外泄的类,只允许在包里访问或被子类访问的类,比如作业shape中的父类即可用protected修饰,这样只有子类能访问。
1.3 在test1包中编写简单的Employee
类,在test2包中新建一个TestProtected
类,并在main中尝试调用test1包中的Employee的clone方法克隆一个新对象,能否成功?为什么?
答:必须不能成,第一;不在同个包里;其次特text2包中的TestProtected 类没有implements.
附上代码图
2. 使用匿名类与Lambda表达式改写题集面向对象2-进阶-多态接口内部类的题目5-2
答:
结果
``` fang 19 lan 20 li 18 lian 17 .................. lian 17 li 18 fang 19 lan 20 ``` ##3.分析下列代码,回答shapeComparator所指向的对象与Comparator接口有什么关系? ```Comparator4.2 使用代码与注释,证明你理解了事件处理模型。
答:模型对吧!
···public static void main(String[] args) {
JButton b = new JButton("Press Me!");//事件源
b.addActionListener(new ButtonHandler());//注册监听器
}
private static class ButtonHandler implements
ActionListener{//监听器
public void actionPerformed(ActionEvent e) {
}
}
}···