学号 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. 处理范例代码Webapi中的Mongodb的Bson中ObjectId反序列化异常

    微软代码范例中的一个Bug 处理Mongodb的Bson中ObjectId反序列化异常 https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/f ...

  2. typescript的数据类型

    typescript是JavaScript的扩展,说到js的数据类型,大家肯定会想到它是一种弱类型的语言,不需要指定特定的数据类型,ts的语言也正在往java这些强类型的语言靠近: 看看typescr ...

  3. Java版 人脸识别SDK demo

    虹软人脸识别SDK之Java版,支持SDK 1.1+,以及当前最新版本2.0,滴滴,抓紧上车! 前言 由于业务需求,最近跟人脸识别杠上了,本以为虹软提供的SDK是那种面向开发语言的,结果是一堆dll· ...

  4. RowKey设计之单调递增行键/时序数据

    ​在一个集群中,一个导入数据的进程锁住不动,所有的client都在等待一个region (因而也就是一个单个节点),过了一会后,变成了下一个region…​如果使用了单调递增 或者时序的key便会造成 ...

  5. w3wp.exe进程占用内存过高解决方法

    解决CPU占用过多: 1.在IIS中对每个网站进行单独的应用程序池配置.即互相之间不影响. 2.设置应用程序池的CPU监视,不超过25%(服务器为4CPU),每分钟刷新,超过限制时关闭. 根据w3wp ...

  6. promise async await使用

    1.Promise (名字含义:promise为承诺,表示其他手段无法改变) Promise 对象代表一个异步操作,其不受外界影响,有三种状态: Pending(进行中.未完成的) Resolved( ...

  7. jeecg入门操作—模板配置(录入界面)

    点击online表单的模板配置,进入模板设计列表页面,点击创建模板 点击创建模板 点击激活 设计完成,点击激活(表单模板可以多个,激活状态只能有一个) 激活后,重新加入功能测试,点击添加页面,效果如下 ...

  8. 类SimpleDateFormat

    概述 java.text.DateFormat 是日期/时间格式化子类的抽象类,不能直接使用.我们通过这个类的子类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行 ...

  9. Git操作记录

    记录一些用过的操作 增加远程推送分支 git remote add orgin http://xxxxx.git 直接新建本地分支,将远程分支提取出来. git checkout -t origin/ ...

  10. java中的“空格”用trim()无法去除?原来是这样!

    原因: 从txt文件中读取一些数据导入mysql数据库,导入数据库之后发现有一个字段的前面有两个“空格”,后来在代码里我尝试用trim().replace()等方法去除,发现怎么也去不掉,于是我将字符 ...