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

教材学习内容总结

第六章
  • 在java中,继承时使用extends关键字,private成员也会被继承,只不过子类无法直接存取,必须通过父类提供的方法来存取(如果父类愿意提供方法的话)。
  • 检查多态语法逻辑是否正确,方法是从=右边开始读:右边是不是一种左边呢?
  • 多态:单一接口操作多种类型的对象。
  • java中规定内含抽象方法的类,一定要在class前标示abstract,表示这是一个定义不完整的抽象类。
  • 被声明protected的成员,相同包中的类可以直接存取,不同包中的类可以在继承后的子类直接存取。
  • java中有public、protected和private三个权限关键字,但实际上有四个权限范围。
  • 如果想取得父类中的方法,可以在调用方法前,加上super关键词。重新定义方法时要注意,对于父类中的方法权限,只能扩大不能缩小。如果返回类型是父类中方法返回类型的子类,也是可以编译的。
  • 如果子类构造函数中没有指定执行父类中哪个构造函数,默认会调用父类中无参构造函数。如果想执行父类中某构造函数,可以使用super()指定。this()和super()只能选择一个调用,且必须在构造函数的第一行。
第七章
  • 对于“定义行为”,可以使用interface关键词定义,接口中的方法不能操作,直接标示为abstract,而且一定是public。类要操作接口,必须使用implements关键字。操作接口时,对接口定义的方法有两种,一是操作接口中定义的方法,二是再度将该方法标示为abstract。
  • 对于接口语法的判断,方式是“右边是不是拥有左边的行为”。
  • 类可以操作两个以上的类,也就是拥有两种以上的行为。类可以同时继承某个类,并操作某个接口。接口可以继承另一个接口,也就是继承父接口行为,再在子接口额外定义行为。接口可以继承别的接口,也可以同时继承两个以上的接口,同样也是使用extends关键词,这表示继承父接口的行为。
  • 使用interface来定义抽象的行为外观,方法要声明public abstract,无须且不能操作。为了方便,也可以省略public abstract。
  • 可以使用接口枚举常数,只能定义public static final。为了方便,public static final可以省略。
  • 如果有临时继承某个类或操作某个接口并建立实例的需求,而这类子类或接口类只能使用一次,不需要为这些类定义名称,这时可以使用匿名内部类来解决这个需求。匿名类语法为:
new 父类()|接口(){
//类本体操作
};

部分代码截图:

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

  • 问题1:

    既然在java中,子类只能继承一个父类,那如果在定义类时没有使用extends关键字指定继承任何类,则说明了什么?

  • 解决方案1:

    在java中,任何类追溯至最上层父类,那一定是java.lang.Object,也就是java中的所有对象。所以定义类时没有使用extends继承则一定是继承了java.lang.Object。

  • 问题2:

    如果有两个接口都定义了某方法,那操作这两个接口的类会不会有错误?

  • 解决方案2:

    不会有错误,会照样通过编译。但在设计上要思考一下:两个接口都定义的方法是否表示不同的行为。

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

按照课本敲得代码没有问题,但实际自己写代码并没有头绪,还要多问多想多练。

代码托管

  • 代码提交过程截图:

  • 代码量截图:

上周考试错题总结

  • 错题及原因
  1. System.out.printf(""+25+52);
  2. System.out.printf(25+52+"");

答案:

  1. 2552
  2. 77

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

java的学习明显感觉到越来越吃力,后面的内容与前面的知识点联系紧密,但往往对前面知识掌握不熟练,拖了后腿。希望以后能改善。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 5/5 1/4 20/20
第二周 140/145 1/5 18/38
第三周 330/451 1/6 16/54
第四周 578/1038 1/7 18/72

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。

耗时估计的公式

:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

参考资料

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

  1. 20155217 2016-2017-2《java程序设计》第一周学习总结

    20155217 2016-2017-2<java程序设计>第一周学习总结 浏览教材,根据自己的理解每章提出一个问题 java平台和java编程语言的区别? 怎样使用IDE来管理原始码与位 ...

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

    20155207 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立 ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. 一键轻松查看apk包名和Main Activity

    环境 Windows系统(我的是Win10 64位) Python3(我的是3.6.1) 已安装Git 安装 pip install git+https://github.com/codeskyblu ...

  2. JS贪吃蛇小游戏

    效果图展示: 具体实现代码如下: (1)html部分 !DOCTYPE html> <html> <head> <meta charset="utf-8& ...

  3. Java override 和 overload 的区别和联系

    方法的重写(Overriding)和重载(Overloading)是Java多态性的不同表现.重写(Overriding)是父类与子类之间多态性的一种表现,而重载(Overloading)是一个类中多 ...

  4. ng-include 上ng-controller 无法获取控件

    A.Html内容如下 <div> <div kendo-grid="testGrid" k-options="testOptions"> ...

  5. MySql--学习成长过程

    MySql--学习成长过程 模拟测试: QQ数据库管理 一.创建数据库并添加关系和测试数据 1 ##创建QQ数据库,完成简单的测试 2 3 #创建数据库 4 DROP DATABASE IF EXIS ...

  6. python 查看与更换工作目录

    1. 进入python控制台 2. 查看工作路径,需要导入os包: import os 3. 查看工作路径的命令: os.getcwd() 4. 修改工作路径的命令: os.chdir("d ...

  7. BZOJ5212 ZJOI2018历史(LCT)

    首先相当于最大化access的轻重边交换次数. 考虑每个点作为战场(而不是每个点所代表的国家与其他国家交战)对答案的贡献,显然每次产生贡献都是该点的子树内(包括自身)此次access的点与上次acce ...

  8. JAVA里面的“指针”

    JAVA里面的“指针”                 众所周知,在java里面是没有指针的.那为何此处还要说java里面的“指针”呢?我们知道在C/C++中,指针是指向内存中的地址.那么在Java里 ...

  9. 【Cf Edu #47 G】Allowed Letters

    这个题大概就是每一个位置都有一个能填字符的限制(一个点集),给出已有的$n$个字符,问能填出的最小字典序的字符串. 总体思路是贪心,每一位尽量选最小的字符. 关键在于判断在某位选了一个字符后,接下来的 ...

  10. 洛谷 P1878 舞蹈课 解题报告

    P1878 舞蹈课 题目描述 有\(n\)个人参加一个舞蹈课.每个人的舞蹈技术由整数来决定.在舞蹈课的开始,他们从左到右站成一排.当这一排中至少有一对相邻的异性时,舞蹈技术相差最小的那一对会出列并开始 ...