1. 本周学习总结

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

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

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

2. 书面作业

1.clone方法

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

  • 根据API的解释:子类必须实现Cloneable接口,否则即使覆盖了clone()方法,仍然会抛出异常(CloneNotSupportedException)的。
  • 覆盖clone和覆盖equals类似,也要满足他们Object中的性质。所有使用clone方法的类,不论是继承Object.clone()还是覆盖他,都必须实现一个名味cloneable的接口
  • 所以,一个自定义类中覆盖clone方法必须满足两个条件:
  • (1)implements Cloneable 继承cloneable接口
  • (2)

@Override public Object clone() throws CloneNotSupportedException
  • 创建并且返回被克隆对象的Copy,“Copy”的确切含义可能取决于被克隆对象的类。

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

  • private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用



  • 长方形的长和宽,圆形的半径,都是私有的。只有长方形类能调用weigth和length,其他的类都不能使用

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





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

仅需粘贴关键代码与运行结果。

  • Lambda表达式:就是匿名方法,只是语法不同。(param)->expr param是输入参数列表,expr是一个表达式或者一系列语句。

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

Comparator<Shape> shapeComparator = new  Comparator<Shape>() {
@Override
public int compare(Shape o1, Shape o2) {
//你的代码
}
};
  • 在java中,如果要对集合对象或数组对象进行排序,需要实现Comparator接口以达到我们想要的目标。
  • 所以这里是用shapeComparator来实现Coparator接口,重写排序方法,对对象进行排序

4.GUI中的事件处理

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

  • 事件:点击按钮,组件属性发生变化时产生了某个事件
  • 事件源:各种组件。如按钮,文本框,微调器等等
  • 事件服务程序:若事件源上发生的事情被程序处理,就要吧事件源注册给能够处理该事件源上那种类型事件的监听者。
  • 事件监听接口:监听者可以是容器,也可以是另外的对象。

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

  • 拿这周折腾了好久的购物界面举个例子......虽然写的真的很糙,而且看着超简单,可是从有想法到最后实现差不多弄了两三天
 private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) { //当按下按钮的时候,执行以下代码
// TODO add your handling code here:
goodlist[1]=(new Books("图书类","Java从入门到精髓",48.86,45));//赋值
String a=jTextField3.getText();//获取文本框里的数量
int b=Integer.parseInt(a);//获取到的是sting类型,转成int
ShoppingCart newone =new ShoppingCart(goodlist[1].getCategory(),goodlist[1].getName(),goodlist[1].getPrice(),goodlist[1].getNum(),b);//初始化
cartlist.add(newone);//添加到购物列表
System.out.println(newone);//测试
}
jPanel5.setBackground(new java.awt.Color(255, 241, 219));//窗口5的背景颜色
jPanel5.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));
jPanel5.setPreferredSize(new java.awt.Dimension(152, 185)); jLabel8.setFont(new java.awt.Font("隶书", 0, 18)); // NOI18N 窗口8的字体设置
jLabel8.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel8.setText("27.80");//文本框显示的内容

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

继续完善上周的项目作业。考核点如下:

5.1 尝试使用图形界面改写。

5.2 给出两人在码云上同一项目的提交记录截图。

  • 我这边码云一直连接不上,所以就只有她一个人的提交记录。然后我们的分工里,我主要是对图形界面这一部分的调整和连接,所以就放了一下图形界面这一部分的代码。

姓名 地址
游舒婷 http://www.cnblogs.com/sakurai3104/p/6658217.html
杨晨露 http://www.cnblogs.com/ycll/p/6658699.html
码云 http://git.oschina.net/sakurai3104/Shopping

5.3 与上周相比,项目的主要改动是什么?

  • 主要增加了简单的图形界面
  • 关于购物车类和商品类之间的关系重新理了一下,添加了购物列表来存储商品,并且赋到购物车界面里。因为对于数据库的连接还不太会,所以在购物界面采用的是直接赋值的方法。这样的效率很低,只能面向某几个商品,如果多了的话就很麻烦,这是一个以后要改进的点。

3. 码云代码提交

4.实验总结

  • (1)面板的重要性。如果没有面板容器来装各个组件,组件之间不容易互相共容,不方便叠加。
  • (2)setText()显示文本
  • (3)getText()获取文本
  • (4)好像只有按钮和文本框可以向里面进行源码的编写,标签的源码似乎是固定的,没法进行更改。
  • (5)调整页面,熟悉各种组件花费太多时间。以及想实现的页面跳转和弹窗都没法去弄。

Java 第六周总结的更多相关文章

  1. 20165210 Java第六周学习总结

    20165210 Java第六周学习总结 教材学习内容 第八章学习总结 String类: 构造String对象: 1. 常量对象 2. String对象 3. 引用String常量 字符串的并置: S ...

  2. 1903021116—吉琛—Java第六周作业—类的定义

    项目 内容 课程班级博客链接 19信计班 这个作业要求链接 第六周作业链接 java面向对象的概念和定义 博客名称 学号-姓名-Java第六周作业-题目自拟 要求 每道题要有题目,代码(使用插入代码, ...

  3. 20145304 Java第六周学习报告

    20145304<Java程序设计>第六周学习总结 教材学习内容总结 1.InputStream与OutputStream: 在Java中,输入串流的代表对象为java.io.InputS ...

  4. 20165326 java第六周学习笔记

    第六周学习总结 ch8 String类对于有效处理字符序列信息非常重要. String对象的字符序列不能被修改删除,无法发生变化. StringBuffer类的对象实体的内存空间可以自动改变大小,便于 ...

  5. 201521123093 java 第六周学习总结

    1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 注1:关键词与内容不求多,但概念之间的联系要清晰,内容覆盖 ...

  6. 20165221—JAVA第六周学习心得

    课本知识点小结 第8章:常用实用类 String类 常量对象放入常量池中,而用string声明的对象变量中存放着引用.凡是new构造的常量都不在常量池中. startIndex表示提取字符的起始位置, ...

  7. 20165220 Java第六周学习总结

    教材学习内容总结 正则表达式:正则表达式是一个String对象的字符序列,该字符序列中含有具有特殊意义的字符,这些特殊字符称作正则表达式的元字符. 链表:由若干个称作结点的对象组成的一种数据结构,用于 ...

  8. 2016-2017-2 20155309 南皓芯java第六周学习总结

    教材内容详解 这一次主要学习的是第十章与第十一章的内容.主要讲述了串流,字符处理和线程以及并行API. 输入输出 串流:Java中的数据有来源(source)和目的地(destination),衔接两 ...

  9. 学习Java第六周

    1.内存结构 Java程序在运行时,需要在内存中的分配空间为提高运算效率,空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式. 栈内存 ·用于存储局部变量,当数据使用完,所占 ...

随机推荐

  1. Hibernate(三)

    1.1Hibernate的检索方式 1.1.1Hibernate的检索方式概述 Hibernate提供了以下几种检索对象的方式: 导航对象图检索方式:根据已经家就在的对象导航到其他对象. Custom ...

  2. python web环境相关

    一. apache配置与支持cgi 1. 配置文件 Apache是一个后台运行的程序,没有界面.所有的配置,都包含在配置文件里.主配置文件是: ~\Apache\conf\httpd.conf 如果要 ...

  3. Spring-Boot快速搭建web项目详细总结

    最近在学习Spring Boot 相关的技术,刚接触就有种相见恨晚的感觉,因为用spring boot进行项目的搭建是在太方便了,我们往往只需要很简单的几步,便可完成一个spring MVC项目的搭建 ...

  4. nRF24LE1/nRF31512烧录驱动开发

    一丶协议分析 这两种芯片都是programming through SPI,烧录要用到的引脚有 SPI_MOSI_Port :数据输入: SPI_MISO_Port :数据输出: SPI_SCLK_P ...

  5. 关于MVC项目中的主管放行

    一线程序员和 sa 总是相恨相杀,这话确实不假,吐槽这里就不多讲,项目快开发完的时候,让之前各个模块的增删改的操作全部都先放入对应的临时表(增加一状态栏位Status,来表示增.删.改)中,然后在主管 ...

  6. 谈一谈applet踩过的坑

    看完我这篇文章,你会简单使用applet,你可以使用web项目读取运行用户电脑上的dll或者其他任何你想干的事.js与直接调用applet类里面的方法,并获取返回值. 不谈项目背景了.直接干货干起来. ...

  7. Java 的概述

    Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是有SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE,JavaEE,JavaME ...

  8. java面向对象(一)

    [toc] 面向对象 我们都说java是面向对象的编程语言,那什么是面向对象呢?什么是类呢?什么是方法呢? 类.对象.方法 类是对象的抽象定义,对象是类的具体实例. 类:指的是一类东西,比如汽车,人类 ...

  9. Ibatis XML 配置文件注释引起错误及解决方案

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp35 Ibatis XML 配置文件注释引起错误及解决方案 最近在使用Iba ...

  10. webStrom2017.1版本如何添加vue.js插件

    第一步:打开webStrom-setting 第二步:选择File and Code Templates--点击左上角"+"号 第三步:在Name:vue File    Exte ...