第四周java学习总结

学号 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的使用越发娴熟,对以后的学习有了很大的信心

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

参考资料

猜你喜欢

转载自www.cnblogs.com/ldc175206/p/10584814.html