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. mysql 基础学习1

    安装得方法有很多,这里就不详细介绍了. 进入 mysql 控制台 mysql -uroot -p 查看 有哪些库 show databases; 1.创建一个库 create database tes ...

  2. 数据库相关文章转载(2) MySQL自带的性能压力测试工具mysqlslap详解

    PS:今天一同事问我有木有比较靠谱的mysql压力测试工具可用.其实mysql自带就有一个叫mysqlslap的压力测试工具,还是模拟的不错的.下面举例说说.mysqlslap是从5.1.4版开始的一 ...

  3. cetnos7下openresty使用luarocks 进行lua的包管理

    先安装一下包管理工具 yum install luarocks lua-devel -y luarocks install lpack ln -s /usr/lib64/lua /usr/local/ ...

  4. 微软报表A4纸大小规则

    总页宽:21cm,总页高:29.7cm 上下左右边距均为2.5cm 页眉页脚均为0.75cm 正文内容宽:16cm,高23.2cm

  5. Codeforces-19D Point---线段树

    题目链接: https://cn.vjudge.net/problem/CodeForces-19D 题目大意: n个操作,在200000*200000的平面上加删点 find 严格在坐标右上角,x最 ...

  6. Discuz!在线中文分词服务

    Discuz!在线中文分词服务是基于API返回分词结果的.在项目中,我们只需要一个函数即可方便地进行分词.关键词提取.以下是根据Discuz!在线分词服务API写的函数,测试可正常运行: 代码代码如下 ...

  7. 2、Spring Cloud - 入门概述

    前言: Spring Cloud是什么: 官网说明 SpringCloud,基于SpringBoot提供了一套微服务解决方案,包括服务注册与发现,配置中心, 全链路监控,服务网关,负载均衡,熔断器等组 ...

  8. 折腾一下WebSocket的ArrayBuffer传输方式

    前言   之前写WebSocket都是基于文本传输的,后来准备升级项目,于是打算尝试一下arraybuffer传输方式,由于是第一次使用javascript处理字符串转arraybuffer,不过真的 ...

  9. PAT——1057. 数零壹

    给定一串长度不超过105的字符串,本题要求你将其中所有英文字母的序号(字母a-z对应序号1-26,不分大小写)相加,得到整数N,然后再分析一下N的二进制表示中有多少0.多少1.例如给定字符串“PAT ...

  10. System.Reflection 获取描述

    我们需要获取类,属性,方法的描述.这个跟获取枚举的描述一样,需要我们通过反射来做.这还需要我们的利用System.ComponentModel:Description  的属性来完成. 新建一个类:使 ...