20145322第四周JAVA程序设计基础学习总结

时间:2021-06-10 06:58:47

20145322 《Java程序设计》第4周学习总结

教材学习内容总结

第六章
一、继承共同行为
何谓继承

1 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承单独的那个类即可。

2 多个类可以称为子类,单独这个类称为父类或者超类。

3 子类可以直接访问父类中的非私有的属性和行为。

4 通过extends 关键字让类与类之间产生继承关系。

下面的剑士代码很有意思!

20145322第四周JAVA程序设计基础学习总结
20145322第四周JAVA程序设计基础学习总结

结果如下:

20145322第四周JAVA程序设计基础学习总结

二、多态与is-a

从定义上看:使用单一接口操作多种类型的对象。
还是从实例中更容易看懂。

代码如下:

20145322第四周JAVA程序设计基础学习总结

结果如下:

20145322第四周JAVA程序设计基础学习总结

三、重新定义行为

定义:子类在继承父类之后,定义与父类中相同的方法部署,但执行内容不同。

简单地说,就是操作接口相同,操作内容不同。

代码如下:

20145322第四周JAVA程序设计基础学习总结

20145322第四周JAVA程序设计基础学习总结

结果如下:

20145322第四周JAVA程序设计基础学习总结

6.2 继承语法细节

protected成员

代码如下:
20145322第四周JAVA程序设计基础学习总结

20145322第四周JAVA程序设计基础学习总结

结果如下:

20145322第四周JAVA程序设计基础学习总结

重新定义的细节

1 final可以修饰类,方法,变量。 
final修饰的类不可以被继承。final修饰的方法不可以被覆盖。 
final修饰的变量是一个常量,只能被赋值一次。 
内部类只能访问被final修饰的局部变量。

2 java.lang.Object
在Java中,子类只能继承一个父类,如果定义类时没有使用extends关键字指定继承任何类,那一定是继承java.lang.Object。

代码如下:

20145322第四周JAVA程序设计基础学习总结

20145322第四周JAVA程序设计基础学习总结

结果如下:

20145322第四周JAVA程序设计基础学习总结

抽象类

代码如下:

20145322第四周JAVA程序设计基础学习总结

代码如下:

20145322第四周JAVA程序设计基础学习总结

第七章
接口与多态

何谓接口

接口的出现将“多继承”通过另一种形式体现出来,即 “多实现”。
接口是程序的功能扩展。 
接口可以用来多实现。 
类与接口之间是实现关系,而且类可以继承一个类的同时实现多个接口。 
接口与接口之间可以有继承关系。

代码如下:

20145322第四周JAVA程序设计基础学习总结

20145322第四周JAVA程序设计基础学习总结

行为的多态

代码如下:

20145322第四周JAVA程序设计基础学习总结

结果如下:

20145322第四周JAVA程序设计基础学习总结

解决需求变化

代码如下:

20145322第四周JAVA程序设计基础学习总结

结果如下:

20145322第四周JAVA程序设计基础学习总结

接口语法细节

接口的默认

在java中,可使用interface来定义抽象的行为与外观,如接口中的方法可声明为public abstract。

代码如下:

20145322第四周JAVA程序设计基础学习总结

结果如下:

20145322第四周JAVA程序设计基础学习总结

匿名内部类:就是内部类的简化写法。

代码如下:

20145322第四周JAVA程序设计基础学习总结

20145322第四周JAVA程序设计基础学习总结

结果如下:

20145322第四周JAVA程序设计基础学习总结

教材学习中的问题和解决过程

上周出现的GBK问题,不过得以解决。

本周代码托管截图如下:

20145322第四周JAVA程序设计基础学习总结

20145322第四周JAVA程序设计基础学习总结

20145322第四周JAVA程序设计基础学习总结

20145322第四周JAVA程序设计基础学习总结

20145322第四周JAVA程序设计基础学习总结

20145322第四周JAVA程序设计基础学习总结

20145322第四周JAVA程序设计基础学习总结

其他(感悟、思考等,可选)

第六第七章代码又长有多···,难度还不减···简直难以消化啊···而且还有好多新知识,第一次看没法留下很深的印象,头疼。虽然IDEA很方便,而且上上周我也用了一次,但是那是在别人电脑上写的,自己电脑上装的还是EditPlus,让我想想,还是IDEA方便,省事儿。同样,再难也要仔细学,消化,慢慢来吧···。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/100 1/2 20/20
第二周 300/500 1/2 18/38
第三周 500/700 1/3 22/50
第四周 700/1400 1/4 18/68