20145229吴姗珊 《Java程序设计》第4周学习总结
20145229吴姗珊 《Java程序设计》第4周学习总结
教材学习内容总结
第六章 继承与多态
6.1继承共同行为
1.继承基本上就是避免多个类间重复定义共同行为
简单的类的定义
使用swordsMan继承Role,其中,SwordsMan就是子类,Role就是父类
类似的使用Magician继承Role类
如何确定真的有继承
继承的好处之一就是,就是若你要将name、level、blood改为其他名称,就只要修改Role.java就可以了
2.子类只能继承一个父类,继承除可避免类间重复的行为定义外,还有子类和父类存在着is-a的关系
3.编译程序就是语法检查器,要知道程序片段为何可以通过编译,为何却无法通过编译,就是将自己当作编译程序,检查语法的逻辑是否正确,方式是从=号右边往左读
4.继承的好处之一就是若你要将name、level、blood改为其他名称,那就只要修改Role.java就可以了,只要是继承Role的子类都无需修改
5.对drawFight()方法而言,只知道传进来的会是一种Role对象,所以编译程序也只能检查你调用的方法以及Role是不是有定义。
6.子类如果继承抽象类,对于抽象方法有两种做法,一种做法是继续标志该方法为abstract,另一种做法是操作抽象方法
6.2继承语法细节
1.protected:被声明为protected的成员,相同包中的类可以直接存取,不同包中的类可以在继承后的子类直接存取
2.有时候重新定义方法时,并非完全不满意父类中的方法,只是希望在执行父类中方法的前、后做点加工
3.新定义方法要注意,对于父类中的方法权限,只能扩大不能缩小,若原成员为public,子类中重新定义时不可为private或protected
4.构造函数可以重载,父类中可重载多个构造函数,如果子类构造函数中没有指定执行父类中哪个构造函数,默认会调用父类中无参数构造函数
5.class前也可以加上final关键字,如果class前使用了final关键字定义,那么表示这个类是最后一个了,不会再有子类,也就是不能被继承
6.撰写程序常常有些看似不合理但又非得完成的需求。有些不合理的需求,本身确实不合理,但有些看似不合理的需求,其实是可以通过设计来解决的
第七章 接口与动态
7.1接口定义行为
1.对于“定义行为”,可以使用interface关键字定义
2.接口的出现将“多继承”通过另一种形式体现出来,即 “多实现”
3.类与接口之间是实现关系,而且类可以继承一个类的同时实现多个接口
4.接口与接口之间可以有继承关系
5.操作某接口时,对接口中定义的方法有两种处理方式,一是操作接口中定义的方法,二是再度将该方法标示为abstract。以java的语意来说,继承会有“是一种”的关系,操作接口则表示“拥有行为”
7.2接口语法细节
1.在java中,可使用interface来定义抽象的行为与外观,如接口中的方法可声明为public abstract
2.使用interface来定义抽象的行为外观,方法要声明为public abstract,无须且不能有操作。为了方便,也可以省略public abstract,编译程序会协助补齐。可以使用接口枚举常数,只能定义为public static final。为了方便,也可以省略public static final
3.匿名内部类:就是内部类的简化写法
4.格式为:new 外部类名或者接口名(){覆盖类或者接口中的代码
教材学习中的问题和解决过程
本来4,5章的内容就不是很懂,然后现在学6,7章,不懂的还是挺多的,那个继承每次敲书上的代码都会出现错误,说找不到那一类的符号。然后第七章感觉结合在一起的类容就更多了,对排除错误的能力还有欠缺,代码照着书上敲的,知识越来越深入了。
代码调试中的问题和解决过程
不知道照着书上敲的代码还会出现错误,显示找不到类所提示
本周代码托管截图
其他(感悟、思考等,可选)
这周的学习中主要是自己敲代码,因为以前C语言学习对程序设计没什么兴趣,导致对java没什么兴趣然后也不想学,现在还是愿意认真的学习,让自己掌握多一点的知识,在计算代码行数中因为wc软件下载了解压不行,所以还是自己数的,等询问同学后将会使用软件重新修改。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 80/100 | 1/1 | 15/15 | |
第二周 | 100/100 | 1/1 | 17/17 | |
第三周 | 100/100 | 1/1 | 17/17 | |
2天知识总结 | 100/100 | 1/1 | 15/15 | |
第四周 | 430/100 | 1/1 | 14/14 |
参考资料
20145229吴姗珊 《Java程序设计》第4周学习总结的更多相关文章
- 20145229吴姗珊 《Java程序设计》课程总结
20145229吴姗珊 <Java程序设计>课程总结 (按顺序)每周读书笔记链接汇总 第一周:http://www.cnblogs.com/20145229ss/p/5248728.htm ...
- 20145229吴姗珊 《Java程序设计》第9周总结
20145229吴姗珊 <Java程序设计>第9周总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交 ...
- 20145229吴姗珊 《Java程序设计》第8周学习总结
20145229吴姗珊 <Java程序设计>第8周总结 教材学习内容总结 第十四章 NIO与NIO2 NIO: InputStream.OutputStream的输入输出,基本上是以字节为 ...
- 20145229吴姗珊 《Java程序设计》2天小总结
20145229吴姗珊 <Java程序设计>2天小总结 教材学习内容总结 由于这周学的内容比较简单,主要是关于日期.日期之类的东西.所以自己从书上看了一些内容 总结了第四章 认识对象 和第 ...
- 20145229吴姗珊 《Java程序设计》第7周学习总结
20145229吴姗珊 <Java程序设计>第7周学习总结 教材学习内容总结 第13章时间与日期 即使标注为GMT(格林威治时间),实际上谈到的的是UTC(Unix时间)时间. 秒的单位定 ...
- 20145229吴姗珊《java程序设计》第2次实验报告
20145229吴姗珊<java程序设计>第2次实验报告 实验名称 Java面向程序设计,采用TDD的方式设计有关实现复数类Complex. 理解并掌握面向对象三要素:封装.继承.多态. ...
- 20145229吴姗珊 《Java程序设计》两天小总结
20145229吴姗珊 <Java程序设计>两天小总结 教材学习内容总结 第十章 输入\输出 1.java将输入\输出抽象化为串流,数据有来源及目的地,衔接两者的是串流对象 2.从应用程序 ...
- 20145229吴姗珊 《Java程序设计》第6周学习总结
20145229吴姗珊 <Java程序设计>第6周学习总结 教材学习内容总结 第十章 输入\输出 1.java将输入\输出抽象化为串流,数据有来源及目的地,衔接两者的是串流对象 2.输入串 ...
- 20145229吴姗珊《Java程序设计》2天总结
20145229吴姗珊<Java程序设计>2天总结 教材学习内容总结 异常处理 1.使用try.catch Java中所有错误都会被包装成对象,可以尝试(try)执行程序并捕捉(catch ...
- 20145229吴姗珊 《Java程序设计》第5周学习总结
20145229吴姗珊 <Java程序设计>第5周学习总结 教材学习内容总结 第八章 异常处理 1.设计错误对象都继承自java.lang.Throwable类 2.Java中所有错误都会 ...
随机推荐
- 实现Tab功能
网上实现Tab功能的方法有很多,这里我使用Fragment的方法,我觉着比较简单易懂 MainActivity private android.app.FragmentManager fragment ...
- 挖一挖C#中那些我们不经常使用的东西之系列(4)——GetHashCode,ExpandoObject
一:GetHashCode 从MSDN上能够看到的解释是:用作特定类型的哈希函数,也就是说不论什么对象的实例都会有一个int32类型的HashCode.而且存放在FCL中的 HashCollectio ...
- PHP 依据IP地址获取所在城市
有这种需求,须要依据用户的IP地址,定位用户所在的城市. 本文记录性文章,无逻辑性.有这样需求的朋友.能够直接拷贝使用.直接上代码,不需赘述. <? php header('Content-Ty ...
- 【COCOS2DX-LUA 脚本开发之一】在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途!
[COCOS2DX-LUA 脚本开发之一]在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途! 分类: [Cocos2dx Lua 脚本开发 ] 2012-04-1 ...
- inside when() you don't call method on mock but on some other object
错误原因:调用静态方法,要事先引入静态类,否则mock的时候会默认为测试的类 解决方法:@PrepareForTest({SecurityContextHolder.class})引入静态类 注:@P ...
- Linux_经常使用命令
1. ls显示文件夹文件夹及文件使用方式: ls -lt -a 显示文件夹下全部文件及文件夹包括 . 与 .. -A 显示文件夹下全部文件及文件夹不包括 . 与 .. -l 显示文件夹下全部文件及文件 ...
- Java反射学习系列-绪论
Java反射学习系列-绪论 https://blog.csdn.net/hanchao5272/article/details/79358924
- JSP 连接数据库JDBC有一定的了解
JSP 连接数据库 本章节假设您已经对JDBC有一定的了解.在开始学习JSP数据库访问前,请确保JDBC环境已经正确配置. 首先,让我们按照下面的步骤来创建一个简单的表并插入几条简单的记录: 创建表 ...
- java拾遗2----XML解析(二) SAX解析
XML解析之SAX解析: SAX解析器:SAXParser类同DOM一样也在javax.xml.parsers包下,此类的实例可以从 SAXParserFactory.newSAXParser() 方 ...
- 6.2-SingletonBeanRegistry-DefaultSingletonBeanRegistry
SingletonBeanRegistry package org.springframework.beans.factory.config; public interface SingletonBe ...