20165230 2017-2018-2 《Java程序设计》第4周学习总结
20165230 2017-2018-2 《Java程序设计》第4周学习总结
教材学习内容总结
子类与继承
通过
class 子类名 extends 父类名定义子类。子类只能继承一个父类,关键字为extends,子类和父类之间有一个is-a关系继承:子类的实例方法可操作父类的成员变量,也可调用父类中的方法;但不继承父类的构造方法
子类与父类在不同包时,只继承protected和public访问权限的成员变量与方法。

子类继承父类之后,定义与父类中相同的方法名字、参数个数、参数类型,即为重写。通过重写可隐藏已继承的方法。
如果想使用被隐藏的方法或成员变量,可以在调用方法前,加上
super关键字,调用的父类方法不能是private。this与super只能择一调用,而且一定要在构造函数第一行执行。final关键字定义的class类,不会再有子类,不能被继承。用final关键字声明常量对象的上转型对象
- 不能操作子类新增的成员变量,
- 不能调用新增的方法,
- 可访问调用子类继承的变量与方法(包括隐藏的变量)
- 若子类重写父类的方法,上转型对象一定是调用的子类重写的发方法
abstract类与abstract方法
- abstract类中可以有非abstract方法
- 非abstract类不能有abstract方法,若是abstract类的子类,必须重写父类的abstract方法
- abstract类不能创建对象,可声明对象,该对象可称为子类的上转型对象
接口与实现
- 接口:用
interface关键字定义,类要操作接口,必须使用implements关键字 - 接口包括public static final的常量和public abstract抽象方法
- 类可以同时继承某个类,并操作某些接口
- 抽象类既可以重写接口的方法,也可拥有接口的方法
- 接口可被继承
- abstract类与接口的比较
- abstract类和接口都可以有abstract方法
- 接口中只可以有常量,不能有变量;abstract类中都可以有
- abstract类中可以有非abstract方法,接口不可以
教材学习中的问题和解决过程
- 问题1:P123中,为什么颠倒次序以后结果会改变?
- 问题1解决方案:通过学习教学视频,学习到先调g方法时,此时super管的n里没有赋值,n=0,在循环体里i<=0不开始循环,返回sum的初值0
- 问题2: p146页中提到重写接口方法时要明显用
public来修饰,否则降低权限是不允许的。为什么? - 问题2解决方案:在父类中是public的方法,如果子类中将其降低访问权限为private,那么子类中重写以后的方法对于外部对象就不可访问了,这个就破坏了继承的含义。如果缩小了权限,就会发生错误。
代码调试中的问题和解决过程
问题1:调试example5_1时,把Student类中的printf输错成了println,显示如下错误

问题1解决方案:通过网上查询学习到println,printf,print的区别如下:
- print将它的参数显示在命令窗口,并将输出光标定位在所显示的最后一个字符之后。
- println 将它的参数显示在命令窗口,并在结尾加上换行符,将输出光标定位在下一行的开始。
- printf是格式化输出的形式。
问题2:在调试example5_6时,显示使用已过时的API

问题2解决方案:通过在网上查询解决方法,发现可以忽略错误提示,直接运行。
问题3:在调试p136的代码时,显示SIMOfChinaUnicom不是抽象的

问题3解决方案:发现是SIMOfChinaUnicom.java文件中
giveCorpName缺少了一个r问题5:在调试example6_3时,出现调试问题

问题5解决方案:通过反复检查,发现是少了对controlAirTemperature的定义:
public void controlAirTemperature()问题6:在调试例子16时,出现错误

问题6解决方案:在输入变量名时将大写字母写成小写字母,重新编写新的java源文件编译通过


代码托管

上周考试错题总结
- 错题1

该题算得正确答案应该为10,但是没有选项,题目错误。
- 错题2

对运算精度规则不熟悉,此题应该是如果表达式中最高精度为double 则按双精度进行运算。如果表达式中最高精度低于int型整数,才按int精度进行运算
- 错题3

对Float不了解,以为与float是一样的。但是他们不一样。Float是封装类,不是基本数据类型
- 错题4

与之前书上的例子没有理解透彻,书上的例子提到的的是float型数据与double型数据的实际精度不同,float保留8位有效数字,double型保留16位有效数字。double型的y的实际值小于float型的实际值。但此处是x==y,与x=y不同。由答案解析可知,是通过比较其二进制,两者是相等的
- 错题5

没有分清数组初始化在c语言与java中的区别。A选项在C语言里是可以的,但是在java中不可以。会显示java.lang.String无法转换为char[]

java数组里面存的是对象的引用,数组初始化式只能用于声明同时赋值的情况,单引号是字符char,双引号是字符串string,要想将hello字符串赋值进char中可以通过
String str=“hahah”;//创建字符串
char[] chArray=new char[10];//创建一个char空数组
chArray=str.toCharArray();//将字符串赋值进去
- 错题6

该题看书上介绍是选择排序,理所应该的以为不是冒泡排序,没有仔细的去考察,也是冒泡排序
其他(感悟、思考等,可选)
- 本周代码量比上周增加了不少,敲代码的过程越来越熟悉,使用了idea,比在虚拟机中的vim编代码时方便很多,很多命令均可用tab键补全,要熟练在idea下运行
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 13/13 | 1/30 | 19/19 | |
| 第二周 | 426/426 | 3/30 | 12/12 | |
| 第三周 | 562/562 | 4/30 | 15/15 | |
| 第四周 | 1552/1958 | 5/30 | 16/16 |
参考资料
20165230 2017-2018-2 《Java程序设计》第4周学习总结的更多相关文章
- 学号 20175212 《Java程序设计》第九周学习总结
学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
- 20145337 《Java程序设计》第二周学习总结
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
- 20145218《Java程序设计》第一周学习总结
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
随机推荐
- Spring @AfterReturning 总是返回null
在学习Spring Aop时,遇到一个问题,当 @Around(环绕通知)与 @AfterReturning(后置通知)共存 时,@AfterReturning 通过属性 returning = &q ...
- emacs在windows下打开报错原因
最开始实在是想不通,最开始我明明就能正常使用,后来发现不能用了,过了几天才回过神来,我路径中有中文,换了一个没有中文的路径后打开正常了.太低级的错误了嘛,却那么难发现. 这些数字就是识别不出来我的中文 ...
- openstack中的环境准备
openstack中环境准备基于Ubuntu系统 author:headsen chen 2017-10-13 11:51:50 个人原创,转载请注明作者,出处. 6 apt-get insta ...
- 基于 Hexo + GitHub Pages 搭建个人博客(一)
前言:我的博客写作之路 15 年刚上大学,第一次接触公众号,就萌生了创建一个公众号写点东西,但最终不了了之. 很快到了 16 年,开始接触网上各大博客网站,接触最多的当属 CSDN,萌生了注册一个博客 ...
- NGUI_Texture
六.UITexture:在屏幕上显示一张图片,和Sprite类似,但是UITexture会单独消耗一个DrawCall去渲染, 会单独加载进内存,会增加内存的开销. 1.使用UITexture时要遵循 ...
- [Luogu 1395] 会议
题目 Description 有一个村庄居住着n个村民,有n-1条路径使得这n个村民的家联通,每条路径的长度都为1.现在村长希望在某个村民家中召开一场会议,村长希望所有村民到会议地点的距离之和最小,那 ...
- [POJ1050] To the Max 及最大子段和与最大矩阵和的求解方法
最大子段和 Ο(n) 的时间求出价值最大的子段 #include<cstdio> #include<iostream> using namespace std; int n,m ...
- 前端的UI设计与交互之图标篇
图标是具有指代意义的图形,也是一种标识.通过使用图标表达命令,强调状态,表示产品或类别.为了系统及跨平台之间图形认知保持一致, 图标在设计和使用时有以下两个原则点需要注意:简单的图形语言以及高辨识度. ...
- Day3---------Linux操作系统
---恢复内容开始--- 网络基础和DOS命令 一.网络分类 1.地理位置 1).局域网(LAN) 2).城域网(MAN) 3).广域网(WAN) 2.传输介质 1).有线网 2).光纤网 3).无线 ...
- python学习笔记1——基础
1)注释 单行注释以#开头,例:#第一个注释 多行注释可用多个#号,还有'''和""",例: #第一行注释 #第二行注释 ''' 第三行注释 第四行注释 ''' &quo ...