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. Java中的多线程科普

    如果对什么是线程.什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内. 用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现.说这个话其 ...

  2. mysql group by分组查询

    分组的SQL语句有2个: group by 和分组聚合函数实现 partition by (oracle和postgreSQL中的语句)功能 group by + having 组合赛选数据 注意:h ...

  3. mysql my.cnf 或my.ini配置文件参数解释(转):

    #*** client options 相关选项 ***# #以下选项会被MySQL客户端应用读取.注意只有MySQL附带的客户端应用程序保证可以读取这段内容.如果你想你自己的MySQL应用程序获取这 ...

  4. Putty+Xming实现在Windows客户端显示Linux服务器端的图形化程序

    走了不少弯路啊~~~言归正传,最近研发和我说要在一台EC2的机器上运行一个带GUI的程序,当时我就纳闷了:EC2的机器应该没有桌面套件的吧,那该怎么运行GUI的程序呢?百思不得其解时收到一封邮件,大致 ...

  5. 固态盘经常性蓝屏处理方法(WIN7/8)

    型号:intel 520S 大小;120G 我的是笔记本,这段时间辞职,有了时间折腾自己的电脑系统了,想装WIN8来着,PE下直接把固态盘的分区都干掉了,分了C,D(40G,剩下的空间),安装阶段完美 ...

  6. Oracle Instant Client

    下载地址: https://www.oracle.com/technetwork/database/database-technologies/instant-client/downloads/ind ...

  7. HashMap,HashTable,concurrentHashMap,LinkedHashMap 区别

    HashMap 不是线程安全的 HashTable,concurrentHashMap 是线程安全 HashTable 底层是所有方法都加有锁(synchronized) 所以操作起来效率会低 con ...

  8. yiled(),wait(),sleep()方法区别

    yiled():让步 wait():等待 sleep():休眠 yiled是让步,会使当前线程由运行状态进入到就绪状态,让其他优先级高线程先执行,但是如果是同一优先级的线程,那么谁先执行就不确定了.它 ...

  9. VBA笔记(一)——基础配置

    开启VBA编程环境——VBE 方法一:按<Alt+F11>组合建 方法二:查看代码 宏设置 当然启用宏的设置方式不同,宏的启动方式也不一样. 首先打开“office 按钮”,选择“exce ...

  10. 【BZOJ3293】分金币(贪心)

    [BZOJ3293]分金币(贪心) 题面 BZOJ 洛谷 题解 和上一题一样啊. #include<cstdio> #include<cmath> #include<al ...