1. 本周学习总结
1.1 面向对象学习暂告一段落,请使用思维导图,以封装、继承、多态为核心概念画一张思维导图,对面向对象思想进行一个总结。
2. 书面作业
1. clone方法
1.1 Object对象中的clone方法是被protected修饰,在自定义的类中覆盖clone方法时需要注意什么?
应用 clone()方 法,必须继承Object类,重载之后要把 clone()方法的属性设置为 public。
1.2 自己设计类时,一般对什么样的方法使用protected进行修饰?以作业Shape为例说明。
自己设计类时,一般在使用继承方法时使用protected进行修饰。在shape的例子中,
1.3 在test1包中编写简单的Employee类,在test2包中新建一个TestProtected类,并在main中尝试调用test1包中的Employee的clone方法克隆一个新对象,能否成功?为什么?
自己设计类时,一般在使用继承方法时使用protected进行修饰。在shape的例子中,
2. 使用匿名类与Lambda表达式改写题集面向对象2-进阶-多态接口内部类的题目5-2
仅需粘贴关键代码与运行结果,图片不要太大。
修改后:
Comparator<PersonSortable2> NameComparator = (o1 , o2) --> o1.getName().compareTo(o2.getName());
Comparator<PersonSortable2> AgeComparator = (o1,o2) --> o1.getAge()-o2.getAge();
结果:
3.分析下列代码,回答shapeComparator所指向的对象与Comparator接口有什么关系?
Comparator<Shape> shapeComparator = new Comparator<Shape>() {
@Override
public int compare(Shape o1, Shape o2) {
//你的代码 ;
}
}
运用Comparator接口可以比较shapeComparator所指向的对象。
4. GUI中的事件处理
4.1 写出事件处理模型中最重要的几个关键词。
事件源 事件对象 事件监听器
4.2 使用代码与注释,证明你理解了事件处理模型。
public class MainGUI {
private JFrame frame;
private JButton button1;
private JButton button2;
public static void main(String args[]){
MainGUI that = new MainGUI();
that.createAndShow();
}
public void createAndShow(){
frame = new JFrame("GUI example");
frame.setLayout(new FlowLayout());
button1 = new JButton("Press Me");
button2 = new JButton("Don't Press Me");
frame.add(button1);
frame.add(button2);
frame.pack();
frame.setVisible(true);
}
}
上述代码是鼠标点击按钮的事件。
3. 码云上代码提交记录及PTA实验总结
- 题目集:jmu-Java-04-面向对象2-进阶-多态接口内部类
3.1. 码云代码提交记录
- 在码云的项目中,依次选择“统计-Commits历史-设置时间段”, 然后搜索并截图
3.2. PTA实验
- 函数(选做:4-1)、编程(5-3, 5-4)
- 一定要有实验总结
这周运用了接口的知识进行编程,在老师的教学后学习了ArrayIntegerStack的使用,然后一一对栈的运用进行编写。参考前两个的写法后,就会对后面的写法有所领悟,所以不用花过多的时间编写。然后在main中编写时候学会在一个包中不同类的运用到main中。
- 一定要有实验总结