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. August 17th 2017 Week 33rd Thursday

    Fate is responsible for shuffling, but the game of cards is our own! 命运负责洗牌,但是玩牌的是我们自己! Today, I upd ...

  2. yum安装工具的理解

    在安装gtk+编译环境的过程中,你会发现,RPM软件包之间的依赖关系非常复杂.在实际管理过程中,这种依赖关系可能会更加复杂.因此非常有必要寻找一种自动化安装工具,让安装工具自己处理这些关系复杂的依赖关 ...

  3. Win8.1下运行环境/配置问题解决方案总结

    目录 1.运行 adb shell 时报错" adb server version (26) doesn't match this client (39); killing... " ...

  4. ES6重点--笔记(转)

    最常用的ES6特性 let, const, class, extends, super, arrow functions, template string, destructuring, defaul ...

  5. BZOJ 1295 最长距离 BFS+枚举

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1295 题目大意: windy有一块矩形土地,被分为 N*M 块 1*1 的小格子. 有 ...

  6. IntelliJ IDEA 下载和激活

    IntelliJ IDEA 下载地址: https://www.jetbrains.com/idea/download/#section=windows 激活码获取地址:http://idea.lan ...

  7. python 中的set与list,tuple

    __author__ = 'liunnis' #-*-coding:utf-8 -*- a=[1,2,3,4,4] print a print list(set(a)) b=[str(i) for i ...

  8. [运维笔记] Nginx编译安装

    yum -y install pcre-devel.x86_64 yum -y install openssl openssl-devel.x86_64 useradd www -s /sbin/no ...

  9. sublime text3插件的安装

    1.安装Package Control提示Package Control:There are no packages available for installation, 解决方案:删除Packag ...

  10. 分享一下不错的样式,适用于Gridview,兼容性还不错!

    使用方法很简单, 1.设置Gridview的[CssClass]属性为[tbinfo] 2.设置Gridview的[BorderWidth]属性为[0] 3.设置Gridview的[CellSpaci ...