20155214 2016-2017-2 《Java程序设计》第4周学习总结


教材学习内容总结

Chapter6

  • 父类就是将多个类的相同代码提升(Pull Up)
  • 子类继承父类会继承到private成员,通过父类方法存取。
  • 多态就是使用单一接口操作多种类型对象。
  • 抽象类不能用来生成实例。
  • 依权限小至大区分,就是public,无关键字,protected,private

Chapter7

  • 继承是“是一种”关系,接口是“拥有行为”。
  • 两个接口都有定义的方法不一定表示的是相同的行为。

教材学习中的问题和解决过程

判断是否可以Cast成功

Role role2 = new Magician();
SwordsMan swordsMan = (SwordsMan) role2;

答:role2为Role类型参考至Magician实例,但role2不能Cast至SwordsMan类,编译失败。

子类继承抽象类的抽象方法

  • 子类在操作抽象方法时,必须选择:

    1.标识该子类为抽象类,而继续标注该方法为抽象方法。

    2.或操作重写该抽象方法。

课程代码验证期间问题

super关键字使用细节

  • P173 如果想取得父类中的方法定义,可以在调用方法前,加上super关键字。

public class Bird{
protected String name;
public Bird(String name){
this.name = name;
}
public Bird copy(){
return new Bird(name);
}
...
public class Chicken extends Bird{
public Chicken(String name){
super(name);
}
public Chicken copy(){
return new Chicken(name);
}
} }
  • 由于子类重新定义方法时返回类型与父类不一样所以编译不通过

  • super关键字调用的父类方法,权限只能扩大不能减小,并且其他部分必须与父类中方法签署完全一致。

  • 其他课程代码已上传至码云,见链接:http://git.oschina.net/bestiisjava2017/besti155214_JavaProgammer


代码调试中的问题和解决过程

设计模式与抽象类方法

1.抽象类方法体必须为空;

2.在子类中重写操作抽象方法,以此决定执行环境。

代码托管

上周考试错题总结

  • System.out.println(“”+52+25); 结果是(5225)
  • System.out.println(52+25+””); 结果是(77)
  • private不能用在构造方法上,这样就无法创建对象了。(X)

其他(感悟、思考等,可选)

  • 切身体会了行为的多态是为了使架构合理而又有弹性
  • 明白了编写代码时要考虑程序的可维护性,使程序能针对新需求进行关键性修改。
  • 了解了接口语法的细节。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 38/38 1/2 15/15
第二周 294/332 3/4 30/45
第三周 763/1073 2/6 32/77
第四周 1204/2277 1/7 29/103


N「次数」 Y「计划学习时间 X「实际学习时间」 X-/+X/N
第一周 0 18 15
第二周 1 33 30 0
第三周 2 35 32 16-48
第四周 3 35 29 25.4-44.6

参考资料

20155214 2016-2017-2 《Java程序设计》第4周学习总结的更多相关文章

  1. # 20155337 2016-2017-2 《Java程序设计》第九周学习总结

    20155337 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 JDBC(Java DataBase Connectivity)即java数据库连 ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. MAC软件工具下载

    CRThttps://www.cnblogs.com/codegeekgao/p/8277015.html navicathttp://xclient.info/search/s/navicat/?t ...

  2. swift动态库与use_frameworks

    使用Dynamic 的优势: 模块化,相对于Static Library,Framework可以将模块中的函数代码外的资源文件打包在一起. 共享可执行文件 iOS 有沙箱机制,不能跨App间共享共态库 ...

  3. 协议森林09 爱的传声筒 (TCP连接)

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在TCP协议与"流"通信中,我们概念性的讲解了TCP通信的方式 ...

  4. [19/04/25-星期四] GOF23_结构型模式(适配器模式、代理模式)

    一.引言 结构模式:核心作用就是从程序的结构上实现松耦合,从而扩大整体的类结构,用来解决更大的问题. 二.适配器模式(adapter) 生活中假设笔记本是标准的USB接口但是外置键盘是圆形接口,这时候 ...

  5. [Python 多线程] Condition (十)

    Condition常用于生产者.消费者模型,为了解决生产者消费者速度匹配问题. 构造方法Condition(lock=None),可以传入一个Lock或RLock对象,默认RLock. 方法: acq ...

  6. ascll方便查询

  7. 算法——(4)哈希、hashmap、hashtable

    1. Hash 把任意长度的输入通过散列算法,变换成固定长度的输出,该输出就是散列值.拥有四个特性: 1. 拥有无限的输入域和固定大小的输出域 2. 如果输入值相同,返回值一样 3. 如果输入值不相同 ...

  8. [转]MBTiles移动存储简介

    首先奉上官网地址http://mapbox.com/developers/mbtiles/#storing_tiles 由于英文水平有限,看资料很费眼睛,特将它翻译成中文 存储瓦片 地图制作者面对一个 ...

  9. Java java httpclient4.5 进行http,https通过SSL安全验证跳过,封装接口请求 get,post(formdata,json)封装,文件上传下载

    package api; import java.util.*; import java.net.URI; import org.apache.http.Consts; import org.apac ...

  10. CocoaPods安装指定版本

    Cocoapods目前最新的正式版本是0.35.0,如果升级到这个版本,并且在project中使用XMPPFramework,在pod install之后会出现如下循环依赖的问题 There is a ...