学号 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. Java中字符串相加和字符串常量相加区别

    有一道这样的程序: public class TestStringDemo { public static void main(String[] args) { String s1 = "P ...

  2. 关于Java中基类构造器的调用问题

    在<Java编程思想>第7章复用类中有这样一段话,值得深思.当子类继承了父类时,就涉及到了基类和导出类(子类)这两个类.从外部来看,导出类就像是一个与基类具有相同接口的新类,或许还会有一些 ...

  3. qt5.11.2+vs2017环境下配置pcl1.8.1以及第三方依赖库vtk的编译

    1.准备工作 我所用的开发环境是win10下的qt5.11.2配置了vs2017的编译器,根据自己所用的VS的版本去官网下载对应版本的pcl库,如下 PCL-1.8.1-AllInOne-msvc20 ...

  4. OpenGL实例:几何变换

    OpenGL实例:几何变换 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 更多请查看:计算机图形学 1. 平移 #include <GL/glu ...

  5. Hybrid APP之Native和H5页面交互原理

    Hybrid APP之Native和H5页面交互原理 Hybrid APP的关键是原生页面与H5页面直接的交互,如下图,痛过JSBridge,H5页面可以调用Native的api,Native也可调用 ...

  6. Azure导出所有用户权限---powershell命令

      直接运行脚本         #requires -Version 3.0 -Modules AzureRM.Resourcesparam(    [switch]    $GroupRolesB ...

  7. 随心测试_软测基础_005 <测试人员工作内容>

    接上篇:清楚了_测试人员的工作职责范围,那每项 测试活动的具体工作内容有哪些呢? Q1:如何理解测试工程师的工作内容? A1:SX的观点:综合一体化 现如今互联网行业如何哪达,每一项IT职业的工作职责 ...

  8. 【刷题】【LeetCode】000-十大经典排序算法

    [刷题][LeetCode]总 用动画的形式呈现解LeetCode题目的思路 参考链接 000-十大经典排序算法

  9. Scrapy:配置日志

    Scrapy logger 在每个spider实例中提供了一个可以访问和使用的实例,方法如下: import scrapy class MySpider(scrapy.Spider): name = ...

  10. docker企业实战视频教程

    Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机).bare metal. ...