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

教材学习内容总结

1.父类和子类类似于集合和元素,不同的地方是子类可以拓展(extends)父类之外的方法。

2.利用父类或子类建立新的实例要注意从右向左判断的原则以及子类和父类之间的“is-a”的关系。

3.子类继承抽象类的方法:标识该方法为抽象为abstract或操作抽象方法。

4.this()和super()只能择一而用,一定要在构造函数的第一行使用。

5.为了防止出现子类中调用函数不存在的情况,可以在父类中加入无参函数,增强使用的弹性。

6.final可以定义对象和方法,但不能定义子类中的方法。

7.String类和StringBuffer类都覆盖了toString方法,都是返回字符串。
所以带不带toString效果是一样的。

8.instanceOf运算符可以用来判断某个对象是否是由某个类创建的,左操作数是对象,右操作数是类。这里其实类似于之前的从右向左判断的例子。所以不一定需要实例化才能返回true。

9.类要操作接口一定要使用implements关键字,对接口的两种定义方式分别是操作接口中的定义方法和将该方法标识为abstract.

10.Java中只能继承一个父类别,但接口支持多重继承的方式

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

  • 问题一:P170子类要继承抽象类中提到的第二种做法,操作抽象方法是什么意思,是将方法定义为抽象吗?
  • 参考关于抽象方法后还是不太理解,于是我自己对这个我问题进行了实践,发现只要在不标识abstract的子类中将方法重新定义一遍就可以通过编译
  • 问题二:P182对于equals()的重新定义:第一个if判断是判断二者是否参考同一对象,可若比较的是两个不同的对象但实质相同怎么办?
  • 在反复看过程序语句后我发现,这里判断是否参考同一对象后返回true,但对不属于同一对象的不进行操作,进行下一条语句的判断
  • 问题三:P202教材案例OceanWorld3 Airplane.java文件名错误,因为案例程序语句中声明的类是Seaplane,无法通过编译。
  • ...

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

  • 问题一:printf和print混淆不清

  • printf继承了c语言中printf的一些特性;print就是标准的格式化输出;println就是比前者多拥有一个换行功能。
  • 问题二:在代码编译的过程中经常会出现加载不到主类xxx.java的情况

  • 加载不到主类的情况分为以下几种错误
    1.在代码中的主类名称与文件名称不符
    2.由于是打包存放没能在正确的位置下存放,或源文件的地址没有描述正确。
  • 问题三:ClassCastExpection是什么错误
  • java.lang.ClassCastException 是指类型转换出错 当前者的域小于后者的时候出现 譬如说:前者A是子类的对象,而后者B是父类的对象 若使用A = B;就会抛出java.lang.ClassCastException

    代码托管

  • 代码提交过程截图:
  • 代码量截图:

上周考试错题总结

    1. 填空:System.out.println(“”+52+25);的结果是(5225);
    1. 填空:System.out.println(52+25+””);的结果是(77);
  • 思考:对于这部分知识的理解太流于表面,没能实践,所以掌握的不全面

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

根据这个星期的学习,基本掌握了父类和子类之间的关系、定义以及一些相关的方法,不太明白的是由父类产生的子类形成的被调用的子程序之间有着千丝万缕的关系,这和我们一直以来所说的“低耦合”是否冲突?

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 2500行 30篇 400小时
第一周 200/200 1/1 20/20
第二周 460/660 2/2 30/38 可以用Java语言独立的编写一些具有基本结构的程序
第三周 480/ 1140 3/3 22/25
第四周 690/1830 4/4 25/30 基本可以使用父类和子类进行简单的定义和调用

参考资料

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

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

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

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

    20155201 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 每一章的问题: 第一章 Java ME都有哪些成功的平台? 第二章 哪些情况可以使用impo ...

  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. python 实现插入排序、冒泡排序、归并排序

    def InsertSort(A): '''插入排序算法:传入一个list,对list中的数字进行排序''' print('插入排序前list元素顺序:',A) length=len(A) for i ...

  2. J2EE项目异常处理(转)

     为什么要在J2EE项目中谈异常处理呢?可能许多java初学者都想说:“异常处理不就是try….catch…finally吗?这谁都会啊!”.笔者在初学java时也是这样认为的.如何在一个多层的j2e ...

  3. Spotlight监控Linux服务器

    1.安装 Spotlight on Unix 下载地址:http://worlddownloads.quest.com.edgesuite.net/Repository/www.quest.com/l ...

  4. jq封装-无缝滚动效果

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  5. 【OpenCV】图像增强---灰度变换、直方图均衡化

    图像增强的目的:改善图像的视觉效果或使图像更适合于人或机器的分析处理.通过图像增强,可以减少图像噪声,提高目标与背景的对比度,也可以增强或抑制图像中的某些细节.  ------------------ ...

  6. LOJ #6436. 「PKUSC2018」神仙的游戏

    题目分析 通过画图分析,如果存在border长度为len,则原串一定是长度为n-len的循环串. 考虑什么时候无法形成长度为len的循环串. 显然是两个不同的字符的距离为len的整数倍时,不存在这样的 ...

  7. git回滚线上代码

        由于之前自己推代码的时候操作失误,push代码的时候没有push到线上的dev分支,而是push到了线上master分支(主要是因为没有在命令后写分支名,直接推到默认master分支上了),覆 ...

  8. POJ3690 Constellations

    嘟嘟嘟 哈希 刚开始我一直在想二维哈希,但发现如果还是按行列枚举的话会破坏子矩阵的性质.也就是说,这个哈希只能维护一维的子区间的哈希值. 所以我就开了个二维数组\(has_{i, j}\)表示原矩阵\ ...

  9. adb命令篇 (转载)

    转自:https://www.cnblogs.com/ailiailan/p/7896534.html 1.抓log方法  (bat文件)  mkdir D:\logcat set /p miaosh ...

  10. 【bbs】logout.php

    字体大小通过js设定,并结合@media,可实现自适应. 图片自适应窗口 实现流水灯手机端不滚动,script嵌套 多余文字省略号显示  http://www.cnblogs.com/yujihang ...