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周学习总结的更多相关文章

  1. 20145229吴姗珊 《Java程序设计》课程总结

    20145229吴姗珊 <Java程序设计>课程总结 (按顺序)每周读书笔记链接汇总 第一周:http://www.cnblogs.com/20145229ss/p/5248728.htm ...

  2. 20145229吴姗珊 《Java程序设计》第9周总结

    20145229吴姗珊 <Java程序设计>第9周总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交 ...

  3. 20145229吴姗珊 《Java程序设计》第8周学习总结

    20145229吴姗珊 <Java程序设计>第8周总结 教材学习内容总结 第十四章 NIO与NIO2 NIO: InputStream.OutputStream的输入输出,基本上是以字节为 ...

  4. 20145229吴姗珊 《Java程序设计》2天小总结

    20145229吴姗珊 <Java程序设计>2天小总结 教材学习内容总结 由于这周学的内容比较简单,主要是关于日期.日期之类的东西.所以自己从书上看了一些内容 总结了第四章 认识对象 和第 ...

  5. 20145229吴姗珊 《Java程序设计》第7周学习总结

    20145229吴姗珊 <Java程序设计>第7周学习总结 教材学习内容总结 第13章时间与日期 即使标注为GMT(格林威治时间),实际上谈到的的是UTC(Unix时间)时间. 秒的单位定 ...

  6. 20145229吴姗珊《java程序设计》第2次实验报告

    20145229吴姗珊<java程序设计>第2次实验报告 实验名称 Java面向程序设计,采用TDD的方式设计有关实现复数类Complex. 理解并掌握面向对象三要素:封装.继承.多态. ...

  7. 20145229吴姗珊 《Java程序设计》两天小总结

    20145229吴姗珊 <Java程序设计>两天小总结 教材学习内容总结 第十章 输入\输出 1.java将输入\输出抽象化为串流,数据有来源及目的地,衔接两者的是串流对象 2.从应用程序 ...

  8. 20145229吴姗珊 《Java程序设计》第6周学习总结

    20145229吴姗珊 <Java程序设计>第6周学习总结 教材学习内容总结 第十章 输入\输出 1.java将输入\输出抽象化为串流,数据有来源及目的地,衔接两者的是串流对象 2.输入串 ...

  9. 20145229吴姗珊《Java程序设计》2天总结

    20145229吴姗珊<Java程序设计>2天总结 教材学习内容总结 异常处理 1.使用try.catch Java中所有错误都会被包装成对象,可以尝试(try)执行程序并捕捉(catch ...

  10. 20145229吴姗珊 《Java程序设计》第5周学习总结

    20145229吴姗珊 <Java程序设计>第5周学习总结 教材学习内容总结 第八章 异常处理 1.设计错误对象都继承自java.lang.Throwable类 2.Java中所有错误都会 ...

随机推荐

  1. 安装npm install时,长时间停留在某一处的解决方案

    默认情况npm install安装时,会从 github.com 上下载文件,大部分安装不成功的原因都源自这里 因为 GitHub Releases 里的文件都托管在 s3.amazonaws.com ...

  2. linux内核参数分析

    这是原来在51cto写的,现在都转到博客园来了 1.time_wait连接数过多,需要调整内核参数 http://blog.renhao.org/2010/07/setup-linux-kernel- ...

  3. js-音乐播放器,播放|暂停|滑块的功能

    音乐播放器,播放|暂停|滑块的功能 document.addEventListener('DOMContentLoaded', function loaded(event) { var audio = ...

  4. linux recv函数返回值分析

    函数原型: ssize_t recv(int sockfd, void *buf, size_t len, int flags); 该函数第一个参数制定接收端套接字描述符; 第二个参数指明一个缓冲区, ...

  5. ajaxFileUpload 实现多文件上传(源码)

    按照原ajaxFileUpload.js是不能多文件上传的.需要对源码进行修改:主要修改了fileElementId部分 具体参考 https://blog.csdn.net/itmyhome1990 ...

  6. git学习之安装(二)

    安装Git 最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑.不过,慢慢地有人把它移植到了Windows上.现在,Git可以在Linux.Unix.Mac和 ...

  7. 如何使用eclipse创建Maven工程及其子模块

    http://blog.csdn.net/jasonchris/article/details/8838802 http://www.tuicool.com/articles/RzyuAj 1,首先创 ...

  8. centos7 修改sudoers文件

    使用root账户用 visudo 命令来修改. 转自: https://www.digitalocean.com/community/tutorials/how-to-edit-the-sudoers ...

  9. textarea中的内容的获取

    今天他们说为啥获取不到textarea的数值 这个问题让我很纳闷  为什么会获取不到呢? 按照逻辑来说 同样都是表单元素  怎么可能出现呢? 我就看了一眼代码 alert($("#texta ...

  10. ios输出想保留的整数位(占位符)

    int startHour=5; int startMinute=4; //输出前面补0,不管你输入的数据前面有没有0 sp;NSLog(@"====>%@",[NSStri ...