学号 20175206 《Java程序设计》第四周学习总结

教材学习内容总结

第五章主要讲的是主类与继承

本章主要介绍了:封装、继承、多态的关系;抽象类与接口的区别;各种关键字的类与方法;主要探究了子类的各种性质以及使用方法,还有各种模式的使用
还有各种覆盖方法\垃圾回收机制等。

其中前三章介绍子类与父类的定义,格式方式

class 子类名 extends 父类名 { }

子类的性质:(继承性)
子类和父类同一包中的性质
不在同一包的性质
继承关系等

子类与对象的特点及运算符等。
接下来是成员变量的隐藏和方法重写,final关键字和super关键字等

抽象方法和抽象类

多态性

Instanceof:判断一个对象是否是一个类的实例,
对象名 instanceof 类名等

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

  • 问题1:子类的继承性与父类有什么关系?

  • 问题1解决方案:
    在一包,子类自然继承变量

因为继承变量,所以在同一包下,可以直接输出代码中的元素。
若未被继承,则会出现一定的错误。

  • 问题2:子类隐藏的继承变量的特点如何声明

  • 问题2解决方案:

子类继承的方法只能操作子类继承和隐藏的成员变量。

  • 问题3:继承与多态性如何体现?

  • 问题3解决方案:
    如书上的例子所示:

代码运行结果为:

父类的某个方法被其子类重写时,可以各自产生自己的功能行为

代码托管

上周考试错题总结

  • 错题1:

下列关于abstract关键字的说法,正确的是(BCDF)

A .可以使用static修饰abstract方法。

B .非abstract类中不可以有abstract方法。

C .不能使用new创建abstract类的对象。

D .不允许使用final和abstract同时修饰一个方法.

E .可以使用public abstract void eat(){};来声明抽象方法eat()。

F .抽象方法只保留方法的功能,而具体的执行,交给继承抽象类的子类,由子类重写此抽象方法。

原因:
F选项
抽象方法不能具体执行,只能交给继承抽象类的子类,因说法过于绝对,所以并没有选择。

  • 错题2

对于下列代码,下列哪个叙述是正确的?(A)

class A {
public int i=0;
A(int m) {
i = 1;
}
}
public class B extends A {
B(int m) {
i = 2;
}
public static void main(String args[]){
B b = new B(100);
System.out.println(b.i); //【代码】
}
}
A .程序提示编译错误(原因是A类没有不带参数的构造方法)

B .编译无错误,【代码】输出结果是0。

C .编译无错误,【代码】输出结果是1。

D .编译无错误,【代码】输出结果是2。

原因:选项A;对知识的掌握不够精深。

  • 错题3
    下列注释的哪些代码(A、B、C、D)无法通过编译?(CD)

class Father {
private int money =12;
float height;
int seeMoney(){
return money ; //A
}
}
class Son extends Father {
int height;
int lookMoney() {
int m = seeMoney(); //B
return m;
}
}
class E {
public static void main(String args[]) {
Son erzi = new Son();
erzi.money = 300; //C
erzi.height = 1.78F; //D
}
}
A .A

B .B

C .C

D .D

原因:在终端中编译出现错误,不知道正确的选项

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 10篇 100小时
第一周 300/300 2/2 20/20
第二周 300/500 2/3 30/30
第三周 693/1000 2/2 25/25
第四周 300/1300 1/3 2525

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

  • 计划学习时间:25小时

  • 实际学习时间:25小时

  • 改进情况:

在上次将虚拟机改成Vmware后,因为有前车之鉴,所以直接毫不吝啬直接给了40G的内存分配,在实际分配中,内存可用为35.3个G,可见仍有部分内存没有应用到系统中去
输入sudo su - 进入root权限后,输入df -h命令,可以看到经过分区后的硬盘有部分并未挂载
我上网学过将一个磁盘挂载,但在查资料时并未发现部分挂载磁盘的方式,但是影响并不明显,所以在解决这个方面并非显得过于迫切
然后就是java的使用越发娴熟,对以后的学习有了很大的信心

(有空多看看现代软件工程 课件
软件工程师能力自我评价表
)

参考资料

第四周java学习总结的更多相关文章

  1. 201521123105 第四周Java学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 继承与多态的概念与实现父类与之类的关系解决代码复用的办法 2. 书面作业 2.1 将在网上商 ...

  2. 第四周java学习笔记

    1.封装 封装可以理解为把方法封在类中,用打时候可以直接拿,就好比你要上学,类就是书包而方法就是书,要用方法打时候直接从书包中拿书就行. 2.类语法细节 public权限修饰 public是个公开类, ...

  3. 201671010140. 2016-2017-2 《Java程序设计》java学习第四周

    java学习第四周体会         本周,与前几周不同的是,老师没有进行课堂测试,而是上了一节课,回顾与总结了之前三周所学的知识,也是因为这节课,我注意到了之前学习中忽略的一些细节,和之前学习方法 ...

  4. 201671010140. 2016-2017-2 《Java程序设计》java学习第十四周

      java学习第十四周       本周,主要精力放在了第十二章swing用户界面组件知识的学习,swing是一个用于开发Java应用程序用户界面的开发工具包.它以抽象窗口工具包(AWT)为基础使跨 ...

  5. 20145330第九周《Java学习笔记》

    20145330第九周<Java学习笔记> 第十六章 整合数据库 JDBC入门 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JD ...

  6. 20145330第八周《Java学习笔记》

    20145330第八周<Java学习笔记> 第十五章 通用API 通用API 日志:日志对信息安全意义重大,审计.取证.入侵检验等都会用到日志信息 日志API Logger:注意无法使用构 ...

  7. 20145330第七周《Java学习笔记》

    20145330第七周<Java学习笔记> 第十三章 时间与日期 认识时间与日期 时间的度量 GMT(格林威治标准时间):现在不是标准时间 世界时(UT):1972年UTC出来之前,UT等 ...

  8. 20145330第六周《Java学习笔记》

    20145330第六周<Java学习笔记> . 这周算是很忙碌的一周.因为第六周陆续很多实验都开始进行,开始要准备和预习的科目日渐增多,对Java分配的时间不知不觉就减少了,然而第十和十一 ...

  9. 20145330第五周《Java学习笔记》

    20145330第五周<Java学习笔记> 这一周又是紧张的一周. 语法与继承架构 Java中所有错误都会打包为对象可以尝试try.catch代表错误的对象后做一些处理. 使用try.ca ...

随机推荐

  1. openlayers三:添加图片和图标

    openlayers添加图片是指: 添加在地图上的图片会跟随地图同步放大缩小 而添加图标是指: 添加在地图上的图片不会跟随地图同步放大缩小 添加图片: 首先初始化图片图层: initImageLaye ...

  2. wav格式文件、pcm数据

    wav格式文件是常见的录音文件,是声音波形文件格式之一,wav 文件由文件头和数据体两部分组成. 文件头是我们在做录音保存到文件的时候,要存储的文件的说明信息,播放器要通过文件头的相关信息去读取数据播 ...

  3. Android MVP

    大家先看看目录结构 先看V层 View里面我写了一个接口LoginView 然后,在登录这个Activity 去实现这个接口,并实现其抽象方法.即看LoginActivity onCreate中引用了 ...

  4. SpringBoot 集成Apache Kafak 消息队列

    Kafka is a distributed,partitioned,replicated commit logservice.它提供了类似于JMS的特性,但是在实现上完全不同,此外它并不是JMS规范 ...

  5. PM过程能力成熟度3级

    2级PM已经可以把项目管理起来了.如果这时候,企业只有一个PM,那这种程度的管理,只要逐渐深化,就可以一直维持下去. 然鹅,现实总是复杂很多... 公司会在PM建立2级的过程管理后,提高所有项目的可视 ...

  6. rocketmq批量消息投递

    批量发送消息可提高传递小消息的性能.同时也需要满足以下特征 批量消息要求必要具有同一topic.相同消息配置 不支持延时消息 建议一个批量消息最好不要超过1MB大小 示例 小于1MB String t ...

  7. [20190423]简单测试latch nowilling等待模式.txt

    [20190423]简单测试latch nowilling等待模式.txt --//我对这个问题的理解就是如果参数willing=0,表示无法获取该latch,直接退出,再寻找类似的latch.--/ ...

  8. Thymeleaf 的 onclick

    th:onclick="'javascript:openBox(\''+${curCabNo}+'\',\''+${box.no}+'\')'" 真的难受 ,有没有好办法!!!!

  9. c/c++ 多线程 ubuntu18.04 boost编译与运行的坑

    多线程 boost编译与运行的坑 背景:因为要使用boost里的多线程库,所以遇到了下面的坑. 系统版本:ubuntu18.04 一,安装boost 1,去boost官网下载 boost_1_XX_0 ...

  10. mysql之limit使用

    在mysql中,limit的使用方式如下: limit m,n --m:表示从哪一行开始查,n:查询多少条 需要明确的是,m表示取条数的起始位置,而n表示取多少条.例如我查询某个表,获取第一条数据,那 ...