1. 本周学习总结

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

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

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

2. 书面作业

1. clone方法

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

答:protected关键字定义的类只能在本类,子类,本包中使用,其他包不能使用 ;

覆盖clone方法,声明为public,实现cloneable接口;

浅拷贝与深拷贝。

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

答:当一个方法需要被同一个包中的不同类中进行多次调用的时候则需要使用protected进行修饰。定义一个抽象类shape,其继承类有circle retangle 两个子类都有求算面积的方法,所以在父类shape中可以定义一个protectd 。

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

答:不可以。

package java2;

public class Employee implements Cloneable {
private String name;
private double salary;
public Employee(String name,double salary){
this.name=name;
this.salary=salary;
}
protected Employee clone()throws CloneNotSupportedException{
return null;
} }
package test2;
import java2.*; public class Testprotected {
Employee employee = new Employee("x",1.11);
Employee employee1 = employee.clone();
}

错误代码提示如下:

为 了让其它类能调用这个clone类的clone()方法,重载之后要把clone()方法的属性设置为public。

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

匿名类

interface NameComparator extends Comparator<PersonSortable>{
public int compare(PersonSortable o1, PersonSortable o2);
}
interface AgeComparator extends Comparator<PersonSortable>{
public int compare(PersonSortable o1, PersonSortable o2);
}
Arrays.sort(per, new NameComparator(){
public int compare(PersonSortable o1, PersonSortable o2) {
return o1.getName().compareTo(o2.getName());
}
});
Arrays.sort(per,new AgeComparator(){
public int compare(PersonSortable o1, PersonSortable o2) {
return o1.getName().compareTo(o2.getName());
}
});

lambda

Arrays.sort(per,(o1,o2)->o1.getName().compareTo(o2.getName()));
Arrays.sort(per,(o1,o2)->o1.getAge()-o2.getAge());

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

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

对继承方法的调用或覆盖,实现对compare方法的重写。

4. GUI中的事件处理

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

JTextField-文本字段,JLabel-标签,JButton-按钮;JTextField可以用于得到输入的信息,JLabel类似提示,JButton触发事件;

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

未理解。

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

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

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

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

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

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

总结:

对内部类有所理解,成员内部类,静态内部类,方法内部类,匿名内部类;

其中内部类实例中,必须先对外部类进行创建,在对内部类创建,二静态内部类不用;

5.3实验对栈满的判断;

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

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

    20145223<Java程序设计>第9周学习总结 教材学习内容总结 第十六章:整合数据库 JDBC入门 1.JDBC简介: 2.JDBC主要分成两个部分,JDBC应用程序开发者接口和JD ...

  2. 20145223《Java程序程序设计》第8周学习总结

    20145223 <Java程序设计>第8周学习总结 教材学习内容总结 第十四章 NIO与NIO2 ·NIO使用频道(Channel)来衔接数据节点,在处理数据时,NIO可以让你设定缓冲区 ...

  3. 20145223《Java程序程序设计》第4周学习总结

    20145223 <Java程序设计>第4周学习总结 教材学习内容总结 面向对象中,子类继承父类避免重复的行为定义,不过并不是为了避免重复定义行为就使用继承.程序代码重复在以后修改代码的时 ...

  4. 20145223《Java程序程序设计》第3周学习总结

    20145223 <Java程序设计>第3周学习总结 教材学习内容总结 第四章内容 1.类与对象 如何定义一个包含有几个值域(Field成员)就是需要我们定义一个类(Class),书上给的 ...

  5. 20145223《Java程序程序设计》第2周学习总结

    20145223 <Java程序设计>第2周学习总结 教材学习内容总结 一: 1.基本的类型: (1)整数:short(2字节).int(4字节).long(8字节) (2)字节 byte ...

  6. 20145223《Java程序程序设计》第1周学习总结

    20145223 <Java程序设计>第1周学习总结 教材学习内容总结 1.JDK.JRE以及JVM的区别 JDK:撰写java程序语言的时候需要用到的编译工具 JRE:java执行环境 ...

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

    20145223 <Java程序设计>第7周学习总结 教材学习内容总结 ·时间的度量: (1)格林威治标准时间 (2)世界时 (3)国际原子时 (4)世界协调时间 (5)Unix时间 (6 ...

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

    20145223<Java网络编程> 一.Java的网络编程 ·网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来. ·java.net包中J2SE的API包含有类 ...

  9. 201521123026《Java程序设》 第10周学习总结

    1. 本章学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 1.守护线程:setDaemon(true or false),如果所有前台线程死亡,守护线程自动结束,一般 ...

  10. 201521123118《java程序与设计》第4周作业总结

    1.本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点 1.2 使用常规方法总结其他上课内容. 为了不必要写重复的代码,可以运用继承,用关键字extends来定义一个类,被继承的类叫做父类,继 ...

随机推荐

  1. 媒体查询Media Queries详解

    @media 标签可以说是响应式网页的开发基础.其主要由媒体类型(Media Type)和 媒体特性(Media Query)两部分组成. Media Type 设定后面规则生效的展示类型,包括all ...

  2. 使用pg_upgrade工具为PostgreSQL进行版本升级

    公司的测试环境和生产环境都是9.2.4版本,而开发环境是9.0.18版本. PS: 不知道公司里的其它同事,是如何做数据库迁移的,利用第三方可视化工具备份数据库,然后恢复到其它高版本的环境?反正我没成 ...

  3. 窗体调用 OCX 的使用方法(MFC,WINFORM)

    在上一篇中,我们做了一个OCX控件,叫mfcActive.ocx,在这一篇我们要做的就是使用这个ocx控件.第一步:创建一个MFC的对话框工程(其实winform 也是一样的) 第二步:在工具箱中常规 ...

  4. sqlite 的基本使用2

    sqlite的运算符有好几种,算术运算符,比较运算符,逻辑运算符,位运算符 1,算术运算符 算术运算符主要有 + - * . % (取余)这个很简单,举一个例子就行,要达到这样的效果需要格式化行输出 ...

  5. 1.SpringBoo之Helloword 快速搭建一个web项目

    背景: Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配 ...

  6. PageObject设计模式,在selenium自动化测试中的运用

    PageObject设计模式1. Web自动化测试框架(WebTestFramework)是基于Selenium框架且采用PageObject设计模式进行二次开发形成的框架. 2. web测试时,建议 ...

  7. 地图性能测试利器PerfQA Analyzer

    PerfQA Analyzer作为一个地图性能测试工具,能针对ArcGIS 技术堆栈的系统进行性能问题的排查,用于系统试运行阶段的压力测试以及在线系统运维.大大减轻了GIS系统管理员的性能调优工作压力 ...

  8. Writing A Threadpool in Rust

    文 Akisann@CNblogs / zhaihj@Github 本篇文章同时发布在Github上:https://zhaihj.github.io/writing-a-threadpool-in- ...

  9. Callable+Future+newFixedThreadPool的应用

    最近在处理很多的数据,数据量比较大,但是处理的相对简单一些,没有什么复杂的业务逻辑,然后就使用了多线程去处理.因为一直停留在Thread和Runnable的知识中,项目中使用Callable,刚好可以 ...

  10. 用EditPlus编辑器配置C#开发环境

    用EditPlus配置配置C#开发环境... -------------------- ---------------------------- 配置步骤: 1.打开EditPlus,找到 工具 —& ...