1. 本周学习总结


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






2. 书面作业


Q1:clone方法

1.1 Object对象中的clone方法是被protected修饰,在自定义的类中覆盖clone方法时需要注意什么?

答:protected是将该方法定义为受保护的,顾名思义,也就是说不能被轻易访问,所以在自定义的类中覆盖clone方法时需要将克隆操作设为public,否则将无法访问。

1.2 自己设计类时,一般对什么样的方法使用protected进行修饰?以作业Shape为例说明。

答:一般对以下两种情况的方法使用protected进行修饰
①当需要在相同的包中可以直接存取某方法的时候使用protected进行修饰该方法。
②当需要在不同包中的类可以在继承后的子类直接存取时使用protected进行修饰该方法。
在作业中,Circle、Rectangle都继承Shape类,所以有getPerimeter和getArea方法,若想让其隐秘一点,就使用protected修饰。

1.3 在test1包中编写简单的Employee类,在test2包中新建一个TestProtected类,并在main中尝试调用test1包中的Employee的clone方法克隆一个新对象,能否成功?为什么?

答:不能成功,因为clone方法被protected修饰在不同包中的类只能在继承后的子类中直接存取。

Q2:使用匿名类与Lambda表达式改写题集面向对象2-进阶-多态接口内部类的题目5-2仅需粘贴关键代码与运行结果,图片不要太大。

改写后的关键代码如下:

Comparator<PersonSortable2> NameComparator=(o1,o2)-> o1.getName().compareTo(o2.getName());
Comparator<PersonSortable2> AgeComparator=(o1,o2)-> o1.getAge()-o2.getAge();

运行结果如图:

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

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

答:shapeComparator所指向的对象是shape类型的,创建了一个Comparator接口。

Q4:GUI中的事件处理

4.1 写出事件处理模型中最重要的几个关键词。

答:关键词:事件源(组件),事件类,监听器。它们之间的关系如下图:

4.2 使用代码与注释,证明你理解了事件处理模型。

代码如下:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame; public class Event extends JFrame implements ActionListener {
private JButton jb; public Event() {
jb = new JButton("确定");
jb.addActionListener(this);
this.add(jb);
this.setSize(300, 200);
this.setDefaultCloseOperation(3);
this.setVisible(true); } public void actionPerformed(ActionEvent e) {
this.jb.setText("事件已响应");
} public static void main(String[] args) {
new Event();
}
}

Q5:结对编程:面向对象设计(大作业2-非常重要,未完成-2)继续完善上周的项目作业。






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


3.1. 码云代码提交记录

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

3.2. PTA实验总结

●在做第5-3题时,主要难度在于public Integer push(Integer item);public Integer pop(); public Integer peek(); public boolean empty(); public int size()这几个方法的构造。虽然去年学习过数据结构,对栈有基本的了解,但是刚开始时对栈的使用还不够熟练,很多知识点忘了,所以编程一直受阻,后来不停地翻书和百度搜索,终于把这道题解决了。

●5-4这题的难度不大,在老师上课的讲解后,一下子就打出来了,也运行成功了,不过复制到PTA上的时候一直显示编译错误。

201521123067 《Java程序设计》第6周学习总结的更多相关文章

  1. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  2. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  3. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  4. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  5. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  6. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  7. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  8. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

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

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

  10. 《Java程序设计》第二周学习总结

    20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...

随机推荐

  1. MYSQL中的多类型查询及高级查询操作

    离散查询select * from car where price=30 or price=40 or price=50 or price=60;select * from car where pri ...

  2. Angular2.0的项目架构

    Angular2.0的项目架构 一.项目服务端app a) Controller控制器 b) Router路由 c) Service服务 d) Public公共样式及脚本和图片等静态资源 e) Vie ...

  3. html常用的基本标签

    html的基本标签 一.head部分的标签 1.<!DOCTYPE html>文档类型声明,让浏览器按照html标准对代码进行解释与执行:文档类型声明必不可少,而且,必须在文档最上方:如果 ...

  4. C#写入文件的几种方式

    1. FileStream.Write string filePath = Directory.GetCurrentDirectory() + "\\" + Process.Get ...

  5. install ubuntu16.04

    1.添加分区 添加驱动目录/boot,ext4文件系统 ,给200m够了,图中2G多了,勾选格式化 添加      根目录/ 25G ,ext4文件系统,勾选格式化 添加 家目录 /home ,30G ...

  6. Git 初学

    记录git与远成仓库建立连接日志 gitbub上创建远程仓库 https://github.com/ 创建登陆账号进入主页 , 选择右上角的加号 新建rep Repository name 为你创建的 ...

  7. 怎样查看Jdk是32位还是64位

    怎样查看Jdk是32位还是64位.. ------------- --------------- ------------- 其实还可以这样看哦.. --------------- --------- ...

  8. Notepad++使用图解

    Notepad++使用图解.. Notepad++的安装部分 -------------- -------------- --------------- -------------- -------- ...

  9. extjs6中grid里放置图片

    1.加黑体的是实现代码,在view中操作 /** * Created by Wwei on 2017/7/1. */ Ext.define('Admin.view.userpanoram.UserPa ...

  10. C++异常处理机制

    商业转载请联系作者获得授权,非商业转载请注明出处. 一.什么是异常 -异常是程序中可以检测到的不正常的情况. -示例:被0除.数组越界.存储空间不足等. -早期我们使用if来判断,然后进行相关处理,或 ...