首页 > 技术文章 > 20145305 《Java程序设计》第4周学习总结

summerharper 2016-03-26 16:10 原文

教材学习内容总结

1.子类只能继承一个父类

2.检查多态语法逻辑是否正确,方式是从=号右边往左读:右边是不是一种左边(右边类型是不是左边类型的一种子类)

3.可以使用abstract标示该方法为抽象方法,不用撰写{}区块,直接“;”结束即可

4.被声明为protected的成员,相同包中的类可以直接存取,不同包中的类可以在继承后的子类直接存取

5.JAVA有public、protected与private三个权限关键字,四个权限范围

6.想取得父类中的方法定义,可以在调用方法前加上super关键字

7.对于父类中的方法权限,只能扩大但不能缩小

8.子类构造函数没有指定执行父类中哪个构造函数,默认会调用父类中无参数构造函数

9.想执行父类中某构造函数,可以使用super()指定

10.this()与super()只能择一调用,而且一定要在构造函数第一行执行

11.class之前使用final定义,表示类是最后一个,不会再有子类,不能被继承;定义方法时表示最后一次,子类不可以重新定义final方法

12.定义类没有使用extends关键字继承任何类,一定是继承java.lang.Object;任何类追溯至最上层父类,一定就是java.lang.Object

13.JVM有垃圾收集机制:执行流程中,无法通过变量参考的对象就是垃圾对象

14.“定义行为”可以使用interface

15.接口中的方法不能操作,直接标示为abstract,而且是public

16.类要操作接口,必须使用implements关键字

17.对接口中定义的方法有两种处理方式,一是操作接口中定义的方法,二是再度将该方法表示为abstract

18.对于接口多态语法的判断,方式是“右边是不是拥有左边的行为”,或者“右边对象是不是操作了左边接口”

19.使用interface来定义抽象的行为外观,方法要声明为public abstract

20.可以使用接口枚举常数,只能定义为public static final

21.接口可以继承别的接口,也可以同时继承两个以上的接口,使用extends关键字,代表了继承父接口的行为

22.enum语法可用于定义枚举常数

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

刚看到第七章的时候不理解匿名对象和匿名内部类,在看了后一章的时候才理解了一下,它和lambda也相似,在第八章有。
在使用匿名内部类的时候,等号两边的接口类型是一样的,如果这样我们完全可以用等号左边的接口,等号右边的接口以及方法我们完全可以根据等号左边的东西来得到,剩下的只是需要一个机制将等号右边的东西自动生成即可,也就是说接口是一样的缘故我们可以省略的东西有:接口以及接口内部的方法头。后面有了lambda的表达式,lambda是在匿名内部类的基础上得来的。

本周代码托管截图

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

本周学习主要收获是理解了继承、封装、多态之间的关系,垃圾回收机制,还了解了两个类的基本使用,但其中抽象类和接口的区别还没有准确搞懂,下去还需要再看一些

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时 基本掌握JAVA
第一周 200/200 1/2 20/20 了解基本的JAVA
第二周 250/450 2/4 20/40 了解基础语法
第三周 500/950 1/5 20/60 了解JAVA语法核心
第四周 869/1819 1/6 30/90 了解继承、接口、多态的知识

参考资料

推荐阅读