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. 获取当前模块句柄(dll、exe)

    HMODULE getCurrModuleHandle(){ MEMORY_BASIC_INFORMATION info; ::VirtualQuery((LPCVOID)(&getCurrM ...

  2. centos7 docker 使用pipework 做虚拟机

    网卡配置文件 及 bridge的静态配置 centos7 Bridge配置 [root@mon-1 ~]# cd  /etc/sysconfig/network-scripts/ [root@mon- ...

  3. Aizu 2249 & cf 449B

    Aizu 2249 & cf 449B 1.Aizu - 2249 选的边肯定是最短路上的. 如果一个点有多个入度,取价值最小的. #include<bits/stdc++.h> ...

  4. Bootstrap3.0和bootstrap2.x的区别

    bootstrap已经推出了3.0的新版,看起来2.3.x版本也不会再更新了.那么bootstrap 2.3版与3.0版的区别在哪里呢?下面我们就来介绍一下. Bootstrap 3.0增加了一些新的 ...

  5. Charles使用笔记

    Charles本身其实是一款十分强大且易用的代理软件,最近用的比较多,大致整理了一下自己用到的一些东西.   Charles的主要作用 1.查看网络请求,手动分析数据 2.代理接口,模拟数据      ...

  6. 超慢速移动动画使用CSS3实现流畅效果

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHVpbGVpZm9yZXZlcg==/font/5a6L5L2T/fontsize/400/fill/I0 ...

  7. 1221. [HNOI2001]软件开发【费用流】

    Description 某软件公司正在规划一项n天的软件开发计划,根据开发计划第i天需要ni个软件开发人员,为了提高软件开发人员的效率,公司给软件人员提供了很多的服务,其中一项服务就是要为每个开发人员 ...

  8. python沙箱逃逸的几道题

    第一道 from __future__ import print_function print("Welcome to my Python sandbox! Enter commands b ...

  9. Odoo中的模型在哪里

    Odoo 模型存在 Python 的模块之外, 在中间注册表那里. 对于这个注册表,可以通过self.env[<model name>]进入,例如, 通过res.partner 模型获取对 ...

  10. selenium + python自动化测试unittest框架学习(三)webdriver元素操作(二)

    上一篇是元素的定位,那么定位元素的目的就是对元素进行操作,例如写入文本,点击按钮,拖动等等的操作 (1)简单元素操作 简单元素操作 find_element_by_id("kw") ...