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类,再建立内部类,然后属性方法,最后在主函数里面使用这个类的方法。

第6周-接口、内部类与Swing的更多相关文章

  1. Java内部类(4):静态内部类&接口内部类

    使用static修饰的内部类我们称之为静态内部类,不过我们更喜欢称之为嵌套内部类.静态内部类与非静态内部类之间存在一个最大的区别,我们知道非静态内部类在编译完成之后会隐含地保存着一个引用,该引用是指向 ...

  2. 第06周-接口、内部类与Swing

    1. 本周作业简评与建议 作业简评 Q1.覆盖clone需要:a.要implements标记接口 Cloneable接口.b.要区分浅拷贝与深拷贝.c.一般来说要调用super.clone,然后在此基 ...

  3. 解决Java接口内部类的main()方法无法打印输出的问题

    问题源自<Thinking in Java>关于内部类的章节,例子如下: public interface ClassInInterface{ void howdy(); public c ...

  4. java - day008 - 接口,内部类

    接口 作用: 结构设计工具,用来解耦合,需要有子类,隔离具体实现 接口是一个极端的抽象类 用 interface 代替 class 用 implements 代替 extends // 接口中所有东西 ...

  5. Java入门教程十(抽象类接口内部类匿名类)

    抽象类(abstract) 一个类只定义了一个为所有子类共享的一般形式,至于细节则交给每一个子类去实现,这种类没有任何具体的实例,只具有一些抽象的概念,那么这样的类称为抽象类. 在面向对象领域,抽象类 ...

  6. Java第4次实验提纲(面向对象2-继承、多态、抽象类与接口与Swing)

    PTA 题集面向对象2-进阶-多态接口内部类 第1次实验 1.1 题集5-1(Comparable) 难点:如果传入对象为null,或者传入对象的某个属性为null,怎么处理? 1.2 题集5-2(C ...

  7. Java程序设计8——抽象类、接口与内部类

    1 抽象类 当编写一个类时,常常会为该类定义一些方法,这些方法用以描述该类的行为方式,那么这些方法都有具体的方法体.但在某些情况下,某个父类并不需要实现,因为它只需要当做一个模板,而具体的实现,可以由 ...

  8. 【Java】对象、类(抽象类与内部类)、接口

    博文内容概况 对象和类 抽象类 接口 内部类 对象和类 对象是对客观事物的抽象,类是对对象的抽象.类是一种数据类型,其外观和行为由用户定义.类中可以设置两种类型的元素:字段(有时被称为数据成员)和方法 ...

  9. 201521123091 《Java程序设计》第6周学习总结

    Java 第六周总结 第六周的作业. 目录 1.本章学习总结 2.Java Q&A 3.码云上代码提交记录及PTA实验总结 1.本章学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以 ...

随机推荐

  1. python进阶(6):多态,封装

    昨天说了面向对象三大特性的继承,今天来说多态和封装,很多其他程序员说python不支持多态没有多态,并不是python没有多态,而是python处处皆多态.今天的讲课重点会放在封装. 一.多态 1.多 ...

  2. HTML-JS基础 变量与输入输出 运算符 分支结构

    js中的变量 1.JS中变量声明的写法: var num=10;//使用var声明的变量属于局部变量只在当前作用域内有效 num=10;//不用var声明的变量,默认为全局变量,在整个JS文件中都有效 ...

  3. How to execute tons of tasks parallelly with TPL method?

    List<Task> taskList = new List<Task>(); // string currentNoStr = null; cannot define at ...

  4. 安装mvn,jdk,rocketmq

    附一个rocketmq各语言客户端仓库:https://github.com/apache/incubator-rocketmq-externals,我用go客户端,但是master分支的go没有pr ...

  5. iOS项目之wifi局域网传输文件到iPhone的简单实现

    如今手机发展非常迅速,app的种类也琳琅满目,而自从有了4G网之后,手机流量也越来越不够用了.所以现在越来越多的app有了本地文件的管理功能,方便用户随意浏览手机文件的同时,也为用户节约了流量的使用. ...

  6. 安装node/npm/webpack步骤

    nodejs软件的下载地址:https://nodejs.org/en/ 1.只要安装好了nodejs,就自动安装好了npm包. 2.在cmd中通过命令node -version查看是否安装好node ...

  7. 在Python的Flask框架下Address already in use [地址已在使用中]

    出现这种错误提示, 说明你已经有一个流程绑定到默认端口(5000).如果您之前已经运行过相同的模块,则很可能该进程仍然绑定到端口. 首先使用端口窗口查找进程 : sudo  lsof  - i : 5 ...

  8. py2 HTMLTestRunner报告

    直接上代码吧. #coding:utf-8 #__author__ = 'carry' import unittest,HTMLTestRunner class Hello(unittest.Test ...

  9. java面向对象(四)之重写、重载

    重载 定义 重载:在一个类中,存在多个方法拥有相同的名字,但在名字相同的同时,必须有不同的参数,这就是重载. 编译器会根据实际情况挑选出正确的方法,如果编译器找不到匹配的参数或者找出多个可能的匹配就会 ...

  10. Akka(23): Stream:自定义流构件功能-Custom defined stream processing stages

    从总体上看:akka-stream是由数据源头Source,流通节点Flow和数据流终点Sink三个框架性的流构件(stream components)组成的.这其中:Source和Sink是stre ...