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. 关于“scrum站立会议”

    每日站立会议是SCRUM方法中的一条关键实践,整个会议可能会比较混乱粗略,但推进进度的目标却非常清晰明确,并促使团队齐心协力朝共同目标迈进. 站立会议的功能很简单,作为一个以简短为特点的项目会议,所有 ...

  2. js中的extend,可实现浅拷贝深拷贝

    js中的extend   1.    JS中substring与substr的区别 之前在项目中用到substring方法,因为C#中也有字符串的截取方法Substring方法,当时也没有多想就误以为 ...

  3. apache +PHP多版本 切换的问题

    在开发中切换php版本的时候出错 经过2小时的日子排查终于找到是因为切换版本后加载的php7ts.dll模块还是原来版本的,因此保pid file 错误 解决方法 PHPIniDir "H: ...

  4. 抽奖系统 random()

    random() 方法可返回介于 0 ~ 1 之间的一个随机数. document.write(parseInt(10*Math.random())); //输出0-10之间的随机整数document ...

  5. 这个网页用到了什么技术,<script>标签,还有双大括号{{}}是什么意思

    <#compress> <@override name="title">${brand.name}-商品</@override> <@ov ...

  6. selenium基础-打开百度进行搜索

    1. 安装Python 2. 安装selenium 3. 下载谷歌驱动ChromeDriver,放到Python的Scripts目录下 4. 编写代码,如下 # coding: utf-8 from ...

  7. Android Room使用详解

    使用Room将数据保存在本地数据库 Room提供了SQLite之上的一层抽象, 既允许流畅地访问数据库, 也充分利用了SQLite. 处理大量结构化数据的应用, 能从在本地持久化数据中极大受益. 最常 ...

  8. 【bzoj2438】 中山市选2011—杀人游戏

    http://www.lydsy.com/JudgeOnline/problem.php?id=2438 (题目链接) 题意 n个点的有向图,其中有一个是杀手,每个人成为杀手的概率相同.警察询问一个人 ...

  9. opncv视频资料

    链接: http://pan.baidu.com/s/1i37nXSL 密码: 3xnd这一套opncv资料包括视频和pdf资料

  10. 网络中,FIFO、LRU、OPT这三种置换算法的缺页次数

    FIFO.LRU.OPT这三种置换算法的缺页次数 转载  由于要考计算机四级网络,这里遇到了问题,就搜了一些资料来解疑. 考虑下述页面走向: 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3 ...