20155310 2016-2017-2 《Java程序设计》第四周学习总结
20155310 2016-2017-2 《Java程序设计》第四周学习总结
一周两章新知识的自学与理解真的是很考验和锻炼我们,也对前面几章我们的学习进行了检测,遇到忘记和不懂的知识就再复习前面的,如此巩固也让我对之前的知识更深刻的理解了。
教材学习内容总结
继承与多态
•继承基本上就是避免多个类间重复定义共同行为
•虽然SwordsMan与Magician并没有定义getName()、getLevel()、getBlood()等方法,但从Role中继承了这些方法,所以就可以直接使用。
•在java中,子类只能继承一个父类
•子类与父类间会有ISA关系
•多态以抽象方式解释,就是使用单一接口操作多种类型对象。若用范例解释:在showblood方法中,既可以通过role类型操作swordsman,也可以通过role类型操作magician对象
•继承可以复用代码,更大的用处是实现「多态」
•封装是继承的基础,继承是多态的基础
•在继承父类后,定义与父类中相同的方法部署,但执行内容不同,这称为重新定义
•继承语法细节 public/package/protected/private
被声明为protected的成员,相同包中的类可以直接存取,不同包中的类可以在继承后的子类里直接存取。
•垃圾收集 :无法通过变量引用的对象就是GC认定的垃圾对象
•垃圾回收前会调用finalize()方法,但由于调用时机无法确定,建议不要使用finalize()方法
•重新定义方法要注意,对于父类中的方法权限,只能扩大不能缩小,若原来成员public,子类中重新定义时不可为private或protected
•构造函数可以重载,父类中可重载多个构造函数,如果子类构造函数中没有指定执行父类中那个构造函数,默认会调用父类中无参数的构造函数。
•如果指定变量值之后,就不想再改变变量值,可以在声明变量时加上final限定,如果后续写程序时,想修改final变量,就会出现编译错误。class前也可以加上final关键字,如果class前使用了final关键字定义,那么表示这个类是最后一个了,不会再有子类,也就是不能被继承。
接口与多态
•对于定义行为,可以使用interface关键字定义,接口中的方法不能操作,直接标示为abstract,而且一定是public。
•类要操作接口,必须使用implements关键字
•类可以操作两个以上的类,也就是拥有两种以上的行为。
•使用interface来定义抽象的行为外观,方法声明为public abstract,无需且不能有操作
•接口也以继承别的接口,也可以继承两个以上的接口,同样也使用extends关键字,这代表了继承父接口的行为
•类要操作接口,必须使用implements关键字
•多态语法的判断:判断“右边是不是拥有左边的行为”或者“右边对象是不是操作了左边接口”
•只要操作接口对象一直,都可以使用doSwim的方法,提高了系统的可维护性。
•在枚举常数时要使用“=”指定值,否则会编译出错。
•Some与Other定义的execute()
•表示不同行为,Service有两个不同的操作方法,Some与Other在名称上有所不同。
•表示相同行为,可以定义一个父接口,当定义execute()方法,而some与other继承该接口,各自定义自己的doSome()与doOther()方法。
教材中遇到的问题和解决过程
整个的学习过程都是抽象的过程,很多概念和注意事项读过好几遍但如果没有完全理解的话,就会十分陌生,后面也看不明白,所以一定要弄清楚每一个细节和知识点。比如这次很多程序都是有子类父类的,如果没有理解知识,就不明白为什么运行不出来或者出错,通过多次反复学习,终于有了一些理解,可能还需要日积月累的联系。
代码托管
学习进度条
~ | 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | ~ |
第一周 | 4/200 | 1/2 | 10/202 | ~ |
第二周 | 20/500 | 2/4 | 20/38 | ~ |
第三周 | 40/1000 | 3/7 | 30/60 | ~ |
第四周 | 60/1300 | 4/9 | 40/90 | ~ |
20155310 2016-2017-2 《Java程序设计》第四周学习总结的更多相关文章
- Java程序设计第四周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 答:①String类是final类,不能定义String的子类. ② instanceof ...
- 对于“2017面向对象程序设计(JAVA)第四周学习总结”存在问题的反馈
对于“2017面向对象程序设计(JAVA)第四周学习总结”存在问题的反馈 “这部分同学博文总结没有写,实验作业没有提交.”——1.关于博文作业.实验作业教学功能的正解:学习知识.暴露问题.衔接课上.2 ...
- 杨其菊201771010134《面向对象程序设计(java)》第四周学习总结
<面向对象程序设计(java)> 第四周学习总结 第一部分:理论知识 1.类与对象 a.类(class)是构造对象的模板或蓝图.由类构造对象的过程称为创建类的实例: java中类声明的格式 ...
- 201871010106-丁宣元 《面向对象程序设计(java)》第四周学习总结
201871010106-丁宣元 <面向对象程序设计(java)>第四周学习总结 正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-da ...
- 20155318 2016-2017-2 《Java程序设计》第九学习总结
20155318 2016-2017-2 <Java程序设计>第九学习总结 教材学习内容总结 学习目标 了解JDBC架构 掌握JDBC架构 掌握反射与ClassLoader 了解自定义泛型 ...
- 《Java程序设计》第二学习总结
<Java程序设计>第二学习总结 教材学习内容总结 类型 byte(字节) shot(短整型) int(整型) long(长整型) float(浮点型) double(双精度) char( ...
- 20145304 刘钦令 Java程序设计第二周学习总结
20145304 <Java程序设计>第2周学习总结 教材学习内容总结 java可区分基本类型和类类型(即参考类型)两大类型系统. 基本类型主要可区分为整数.字节.浮点数.字符与布尔. 整 ...
- 20145304 刘钦令 Java程序设计第一周学习总结
20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...
- 20145120黄玄曦 《java程序设计》 寒假学习总结
1和2.我对未来规划不多,我认为好好学习积累知识能帮助我应对未来的挑战,这是我的学习动力之一,此外,了解新知识满足好奇心也是我的主要的学习动力. 3.我认为专业课学习比公务员考试重要,我认为专业知识是 ...
- 201621123007 Java程序设计第一周 学习总结
第一周-Java基本概念 201621123007 <Java程序设计> 第一周学习总结 1. 本周学习总结 java是面向对象的一类语言,三大特征:封装性,继承性,多态性. jdk jr ...
随机推荐
- Java.util 包(Date 类、Calendar类、Random类)
java.util 包提供了一些实用的方法和数据结构. Date 类 Date 类表示日期和时间,里面封装了操作日期和时间的方法.Date 类经常用来获取系统当前时间. 构造方法: 构造方法 说明 D ...
- Linux性能监控(程序篇)
性能数据的监控,除了针对整机进行外,还要求我们对某一运行的程序单独进行.常用的程序监控命令有ps和top. Ps ps命令最常用的还是用于监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入 ...
- 【[HNOI2008]GT考试】
我又来复习\(kmp\)了 其实这道题主要是一个矩阵乘法,但是\(kmp\)在其中也有着非常重要的作用 我们可以这样定义状态\(dp[i][j]\)表示文本串进行到了\(i\)位置,同时文本串在最后和 ...
- [USACO08JAN]Telephone Lines
嘟嘟嘟 题意概括一下,就是在无向图上求一条1到n的路径,使路径上第k + 1大的边权尽量小. 考虑dp,令dp[i][j] 表示走到节点 i,路线上有 j 条电话线免费时,路径上最贵的电缆花费最小是多 ...
- Android UI【android 仿微信、QQ聊天,带表情,可翻页,带翻页拖动缓冲】
http://blog.csdn.net/lnb333666/article/details/8546497 如题,这是公司项目的一个功能模块,先上个效果图: 其次大致说说原理: 1,首先判断输入的字 ...
- centos 腾讯云 今天买了 18个月
1.安装开发编译工具包 yum groupinstall "Development Tools" 2.查看Linux 下用户 对系统资源的占用情况,root表示用户 top -u ...
- cocoscreator 2.04 配置 visual code 断点调试
1,cocoscreator ,chrome浏览器,visual code 这三个软件的安装 2,官网配置visual code 环境 https://docs.cocos.com/creator/m ...
- java基础需要掌握的内容
一.Java的基本程序设计结构 二.对象与类 三.继承 四.接口.lambda表达式与内部类 五.异常,断言与日志 六.泛型程序设计 七.集合 八.并发(线程) 九.输入与输出(IO流) 十.网络 十 ...
- react路由传参
方法1 <刷新页面参数会消失> <Link className="item" to={{pathname:'/order',params:{index :&quo ...
- POJ3074 Sudoku(lowbit优化搜索)
In the game of Sudoku, you are given a large 9 × 9 grid divided into smaller 3 × 3 subgrids. For exa ...