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. August 21st 2017 Week 34th Monday

    In fact, the happiest fairy tale is no more than the simple days we have together. 其实全世界最幸福的童话,也比不上我 ...

  2. 异常处理与MiniDump详解(2) 智能指针与C++异常

    write by 九天雁翎(JTianLing) -- blog.csdn.net/vagrxie 讨论新闻组及文件 一.   综述 <异常处理与MiniDump详解(1) C++异常>稍 ...

  3. MD5随机盐值生成法

    public class Test3 { /** * 生成含有随机盐的密码 */ public static String generate(String password) { Random r = ...

  4. MongoDB authentication failed

    0.随笔摘要: MongoDB  安装配置 MongoDB  权限控制 MongoDB  注意事项 authentication failed 1.MongoDB  下载安装配置 MongoDB官网  ...

  5. 使用tidylib解决不规则网页问题

    windows 下安装tidylib 先去https://pypi.python.org/pypi/pytidylib 下载pytidylib 跑官方提供的测试用例报错 ition 0: unexpe ...

  6. 【ES6】最常用的es6特性(一)

    参考链接: http://www.jianshu.com/p/ebfeb687eb70 http://www.cnblogs.com/Wayou/p/es6_new_features.html 1.l ...

  7. 34、springboot的热部署

    热部署 在开发中我们修改一个Java文件后想看到效果不得不重启应用,这导致大量时间花费, 我们希望不重启应用的情况下,程序可以自动部署(热部署).有以下四种情况,如何能实现热部署. 1.模板引擎 在S ...

  8. 20165302 实验一 java开发环境的熟悉

    20165302实验一 java开发环境的熟悉 一,实验内容与步骤 1.命令行下java程序开发 ①待编译运行代码 package csj; import java.util.Scanner; pub ...

  9. 小程序采坑之setData

    根据双向绑定当我setData的时候input的值应该改变,但是并没有.而且this.data中的值也没有改变 <input class="weui-input" bindi ...

  10. 关于selenium获取token sessionid

    # 获取sessionid def get_sessionid(self): # 是要从localStorage中获取还是要从sessionStorage中获取,具体看目标系统存到哪个中 # wind ...