2015211230554《Java程序设计》第6周学习总结
1. 本周学习总结
2. 书面作业
1.1 Object对象中的clone方法是被protected修饰,在自定义的类中覆盖clone方法时需要注意什么?
克隆方法用于创建对象的拷贝,为了使用clone方法,类必须实现java.lang.Cloneable接口重写protected方法clone,如果没有实现Clonebale接口会抛出CloneNotSupportedException.
在克隆java对象的时候不会调用构造器。
1.2 自己设计类时,一般对什么样的方法使用protected进行修饰?以作业Shape为例说明。
Shape类中,有Circle、Rectangle这两个子类,Circle、Rectangle都继承Shape,让他们都有getPerimeter()与getArea()来计算面积与周长的方法,所以可以用protected修饰。
1.3 在test1包中编写简单的Employee类,在test2包中新建一个TestProtected类,并在main中尝试调用test1包中的Employee的clone方法克隆一个新对象,能否成功?为什么?
不能,两个类是不同一个包内的。
2.使用匿名类与Lambda表达式改写题集面向对象2-进阶-多态接口内部类的题目5-2
//匿名类
Comparator<PersonSortable2> NameComparator=new Comparator<PersonSortable2>(){
public int compare(PersonSortable2 o1, PersonSortable2 o2) {
// TODO Auto-generated method stub
return o1.getName().compareTo(o2.getName());
}
}
Comparator<PersonSortable2> AgeComparator= new Comparator<PersonSortable2>(){
public int compare(PersonSortable2 o1, PersonSortable2 o2) {
// TODO Auto-generated method stub
return p1.getAge()-p2.getAge();
}
//Lambda表达式
Comparator<PersonSortable2> NameComparator=(o1,o2)-> o1.getName().compareTo(o2.getName());
Comparator<PersonSortable2> AgeComparator=(o1,o2)-> o1.getAge()-o2.getAge();
3.分析下列代码,回答shapeComparator所指向的对象与Comparator接口有什么关系?
Comparator<Shape> shapeComparator = new Comparator<Shape>() {
@Override
public int compare(Shape o1, Shape o2) {
}
};
实现了Comparator接口。
4.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 MainGUI {
public static void main(String[] args) {
JFrame f = new JFrame("Test");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton b = new JButton("Press Me!");//事件源
b.addActionListener(new ButtonHandler());//注册监听器
f.add(b);
f.setSize(200, 100);
f.setVisible(true);
}
private static class ButtonHandler implements ActionListener{//监听器
public void actionPerformed(ActionEvent e) {
System.out.println("Action occurred");
System.out.println(e.getSource());//获得事件源
}
}
}
结对编程:面向对象设计(大作业2-非常重要,未完成-2)
继续完善上周的项目作业。考核点如下:
5.1 尝试使用图形界面改写。
5.2 给出两人在码云上同一项目的提交记录截图。
5.3 与上周相比,项目的主要改动是什么?
增加了编写图形界面的类。
3. 码云上代码提交记录及PTA实验总结
3.1. 码云代码提交记录
3.2. PTA实验总结
5.3:回顾栈的知识,能够与接口的知识一起灵活的运用。
5.4:查看书中与网上关于匿名内部类的知识。
2015211230554《Java程序设计》第6周学习总结的更多相关文章
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
- 20145337 《Java程序设计》第二周学习总结
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
- 20145218《Java程序设计》第一周学习总结
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
- 《Java程序设计》第二周学习总结
20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...
随机推荐
- Maven干货
好处: 1. 依赖管理:对jar包统一管理 2. 项目构建: 项目编码完成后,对项目进行编译.测试.打包.部署.之前项目构建通过eclipse工具实现.今天学习新的工具也可以实现这些过程.比如:通过m ...
- android学习ProgressBar的简单使用
android 提供的ProgressBar控件分为两种,一种是不带进度的进度条,一种是带进度的进度条,如果可以计算任务的完成量那么就用带进度条的,如果无法计算任务量,那么就使用不带进度的进度条.Pr ...
- SQL 三种基本Join
Join是关系型数据库系统的重要操作之一,SQL常用Join:内联接.外联接和交叉联接等. 这里讨论一下这常用的三种连接. 测试环境:db2 v10.1, linux 表定义: --用户 CREATE ...
- java程序给short变量赋0xff报异常
在java程序中以二进制或十六进制表示的数比如0x01默认类型为int.所以付给short类型时要强制类型转换. short q = (short) 0b1111111111111111; Syste ...
- js 本月,下一月,上一月
<script type="text/javascript"> var curMonth = new Date(); function initDate() { ) + ...
- Python常用排序算法
1.冒泡排序 思路:将左右元素两两相比较,将值小的放在列表的头部,值大的放到列表的尾部 效率:O(n²) def bubble_sort(li): for i in range(len(li)-1): ...
- Win7桌面底部的任务栏高度的修改
Win7桌面底部的任务栏高度的修改.. ----------win7中,任务栏比较宽,有些用户的电脑分辨率比较低,就显得非常占地方,这时可将任务设置成窄模式,图标小图标.鼠标移动到状态上,点击右键.- ...
- 7.28.2 static关键字(静态和成员)
成员是对象级别的,访问成员必须用"引用.",如果用"类名."访问会报错!如果用空引用访问成员则会发生控空指针异常! 静态是类级别的,访问静态必须用类" ...
- (转载)2016 CCF大数据与计算智能大赛 开源资料整理
本文转载自:http://blog.sina.com.cn/s/blog_5399b8660102wxks.html 2016 CCF 大数据与计算智能大赛已经落下帷幕,11个赛题由众多大神包揽奖项, ...
- jQuery绑定事物处理器
绑定与移除1..bind() 绑定事件可以有2个或者3个参数:第一个参数为事件类型 第二个参数为处理函数 第三个为布尔类型 on()事件代替2..delegate() 事件委托,三个参数,第一个为选择 ...