zoukankan      html  css  js  c++  java
  • 第6周-接口、内部类与Swing

    1. 本周学习总结

    1.1 面向对象学习暂告一段落,请使用思维导图,以封装、继承、多态为核心概念画一张思维导图,对面向对象思想进行一个总结。

    注1:关键词与内容不求多,但概念之间的联系要清晰,内容覆盖面向对象的核心内容即可。

    注2:颜色要少、连线不要复杂,必要的时候要在连线上进行说明。

    1.2 可选:使用常规方法总结其他上课内容。

    参考资料:

    XMind

    2. 书面作业

    1.clone方法

    1.1 Object对象中的clone方法是被protected修饰,在自定义的类中覆盖clone方法时需要注意什么?
    答:在自定义类中需要implements Cloneable,也就是说要先定义Cloneable接口,才能覆盖clone()方法。
    1.2 自己设计类时,一般对什么样的方法使用protected进行修饰?以作业Shape为例说明。
    答:首先要知道protected关键字是作用于当前类、子类或者同一个Package包里面关键字为public的类,但是对于其他Package来说,是不可访问的。就如Shape中getPerimeter与getArea分别为计算面积与周长的方法,只有Shape类的子类才可以使用这两个方法,所以要用prootected修饰。
    1.3 在test1包中编写简单的Employee类,在test2包中新建一个TestProtected类,并在main中尝试调用test1包中的Employee的clone方法克隆一个新对象,能否成功?为什么?
    答:很明显这不能成功,因为这是在不同包里面的两个类,要想成功,需要在test2包里面加入Employee,即import test1.Employee,然后再让TesProtected继承Employee类即可。

    2.使用匿名类与Lambda表达式改写题集面向对象2-进阶-多态接口内部类的题目5-2

    仅需粘贴关键代码与运行结果,图片不要太大。

    匿名内部类

    Lambda表达式
    Arrays.sort(person,(o1,o2)->o1.getName().compareTo(o2.getName()));
    Arrays.sort(person,(o1,o2)->o1.getAge()-o2.getAge());
    

    运行结果

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

       Comparator<Shape> shapeComparator = new  Comparator<Shape>() {
         @Override  
         public int compare(Shape o1, Shape o2) {  
             //你的代码     
          }         
    };
    

    答:shapeComparator所指对象对接口Comparator进行了操作,覆盖并重写了接口内compare方法。

    4.GUI中的事件处理

    4.1 写出事件处理模型中最重要的几个关键词。
    答: 事件、事件源、事件监听器。
    4.2 使用代码与注释,证明你理解了事件处理模型。

    public class test {
    public static void main(String[] args) {
        JFrame f = new JFrame();//构造一个 Frame 实例。
        f.setTitle("New Frame");//窗口标题内容
        f.setSize(100, 100);//窗口大小调整
        f.setVisible(true);//设置窗口可见
        f.addWindowListener(new WindowAdapter()  //注册一个监听器。
        {
               public void windowClosing(WindowEvent e)
               {
                   System.exit(0);//关闭窗口处理关闭动作监听事件
                 }
        });
        JButton b=new Button("Button");//定义一个事件源;
        f.add(b);//添加一个按钮
    }
    }
    

    5.结对编程:面向对象设计(大作业2-非常重要,未完成-2)

    继续完善上周的项目作业。考核点如下:
    5.1 尝试使用图形界面改写。

    参考资料:
    结对编程参考资料
    使用Processon画图
    视频-使用Netbeans编写GUI
    重要:Swing实验参考资料
    JTable用法,用于呈现表格数据
    Swing相关文章

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

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

    3.1. 码云代码提交记录

    在码云的项目中,依次选择“统计-Commits历史-设置时间段”, 然后搜索并截图

    3.2. PTA实验

    函数(选做:4-1)、编程(5-3, 5-4)
    实验总结:
    5-3:按照实验课上老师教的步骤来,还不是很难,主要在于对IntegerStack接口里面方法的定义,写对了,就只要主函数里面按题目要求来使用输出就好了。但是不知道为什么我编译结果没错,pta是部分正确,目前错误还没找到。
    5-4:、具体掌握了静态内部类的使用,主要也是按题目的要求来先建立ArrayUtils类,再建立内部类,然后属性方法,最后在主函数里面使用这个类的方法。

  • 相关阅读:
    leetcode 86. Partition List
    leetcode 303. Range Sum Query
    leetcode 1310. XOR Queries of a Subarray
    leetcode 1309. Decrypt String from Alphabet to Integer Mapping
    leetcode 215. Kth Largest Element in an Array
    将numpy.ndarray写入excel
    leetcode 1021 Remove Outermost Parentheses
    leetcode 1306. Jump Game III
    leetcode 1305. All Elements in Two Binary Search Trees
    ICCV2019 oral:Wavelet Domain Style Transfer for an Effective Perception-distortion Tradeoff in Single Image Super-Resolution
  • 原文地址:https://www.cnblogs.com/chendajia/p/6657805.html
Copyright © 2011-2022 走看看