第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类,再建立内部类,然后属性方法,最后在主函数里面使用这个类的方法。
第6周-接口、内部类与Swing的更多相关文章
- Java内部类(4):静态内部类&接口内部类
使用static修饰的内部类我们称之为静态内部类,不过我们更喜欢称之为嵌套内部类.静态内部类与非静态内部类之间存在一个最大的区别,我们知道非静态内部类在编译完成之后会隐含地保存着一个引用,该引用是指向 ...
- 第06周-接口、内部类与Swing
1. 本周作业简评与建议 作业简评 Q1.覆盖clone需要:a.要implements标记接口 Cloneable接口.b.要区分浅拷贝与深拷贝.c.一般来说要调用super.clone,然后在此基 ...
- 解决Java接口内部类的main()方法无法打印输出的问题
问题源自<Thinking in Java>关于内部类的章节,例子如下: public interface ClassInInterface{ void howdy(); public c ...
- java - day008 - 接口,内部类
接口 作用: 结构设计工具,用来解耦合,需要有子类,隔离具体实现 接口是一个极端的抽象类 用 interface 代替 class 用 implements 代替 extends // 接口中所有东西 ...
- Java入门教程十(抽象类接口内部类匿名类)
抽象类(abstract) 一个类只定义了一个为所有子类共享的一般形式,至于细节则交给每一个子类去实现,这种类没有任何具体的实例,只具有一些抽象的概念,那么这样的类称为抽象类. 在面向对象领域,抽象类 ...
- Java第4次实验提纲(面向对象2-继承、多态、抽象类与接口与Swing)
PTA 题集面向对象2-进阶-多态接口内部类 第1次实验 1.1 题集5-1(Comparable) 难点:如果传入对象为null,或者传入对象的某个属性为null,怎么处理? 1.2 题集5-2(C ...
- Java程序设计8——抽象类、接口与内部类
1 抽象类 当编写一个类时,常常会为该类定义一些方法,这些方法用以描述该类的行为方式,那么这些方法都有具体的方法体.但在某些情况下,某个父类并不需要实现,因为它只需要当做一个模板,而具体的实现,可以由 ...
- 【Java】对象、类(抽象类与内部类)、接口
博文内容概况 对象和类 抽象类 接口 内部类 对象和类 对象是对客观事物的抽象,类是对对象的抽象.类是一种数据类型,其外观和行为由用户定义.类中可以设置两种类型的元素:字段(有时被称为数据成员)和方法 ...
- 201521123091 《Java程序设计》第6周学习总结
Java 第六周总结 第六周的作业. 目录 1.本章学习总结 2.Java Q&A 3.码云上代码提交记录及PTA实验总结 1.本章学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以 ...
随机推荐
- 【机器学习笔记之一】深入浅出学习K-Means算法
摘要:在数据挖掘中,K-Means算法是一种 cluster analysis 的算法,其主要是来计算数据聚集的算法,主要通过不断地取离种子点最近均值的算法. 在数据挖掘中,K-Means算法是一种c ...
- XAMPP启动MySQL时报端口被占用错误
1 问题描述 启动XAMPP中的mysql时宝凑,错误信息是:3306端口被占用 2 问题诊断 2.1 可能是在安装XAMPP之前安装了MySQL,这样电脑中就有两个MySQL啦,如果我们在安装时都采 ...
- [stm32F429-DISCO-HAL] 1.先说说关于stm32Cube的一些事情。然后,Start with it...
目前,我觉得STM32CUBE最大的方便在于,可以使用STM32CubeMX软件来图形化配置外设.首先贴出官网的PDF,Getting started with STM32CubeF4 firmwar ...
- python学习===打印时间
>>> import time >>> print(time.time()) 1501749158.9849465 >>> print(time. ...
- thymeleaf模板引擎入门
ThymeLeaf是什么 Thymeleaf是一个用于服务器端的java模板引擎,它使用简单但功能强大,目前可以处理的模板类型包括:HTML.XML.TEXT.JavaScript.CSS等. 搭建t ...
- Python 搭建环境踩过的那些坑
实践出真知,学习 Python 第六天,准备开始尝试写一些 Python 的实例.之前学习过程主要是参照的 廖雪峰老师的教程.搭建环境的过程,被很多坑围绕着. 版本选择 版本选择 Python 3.5 ...
- Unity3D --对撞机/碰撞器 介绍
碰撞器一般都用作触发器而用,刚体一般用作真实碰撞. 静态对撞机:一个对象有对撞机组件,没有刚体组件. 这种情况在场景中的静态物体应用较多,比如墙体,房屋等静止不动的物体. 物理引擎假设静态对撞机是不会 ...
- apache-DOS
对DSO的理解还不是特别深刻,所以把自己查来的资料整理一下并想就此作一个总结.暂时先把资料堆到blog里面了,有时间再整理总结. 一.以下源于<Apache HTTP Server Vers ...
- Oracle 11g的安装详细过程
本次采用的电脑为win10 专业版,以下为本人电脑的配置情况: 本人是第一次在win10系统上面进行oracle 11g的安装. 以下为安装步骤: 一.下载软件包 以下为各种oracle安装包的下载网 ...
- 解决VS2015中没有报表项(ReportViewer)的方法
作者:何时.微笑成了种奢求 VS2015中没有报表项(ReportViewer),怎么办?这篇文章主要为大家详细介绍了解决VS2015中没有报表项(ReportViewer)的方法,感兴趣的小伙伴们可 ...