20145229吴姗珊 《Java程序设计》小总结

教材学习内容总结

由于今天考试考到了操作题,根本无从下手,然后才意识到原来之前的学习都是蜻蜓点水,一味的把学习建立在给老师学,为家长学的基础上,每次都只是机械的敲代码,根本没有理解教材,因为今天考试考的是6,7章的内容然后自己一片空白,所以这次想从教材里入手,代码全部都托管了,踏踏实实的学一点东西,一些基础的东西,不是不懂装懂为了博客而博客的东西,至少有一点点改变,让自己的生活不再充满堕落与无知。

继承的必要性

如果某一数据成员改为其他名称,那么包含这个数据成员的所有类都要进行修改,这就造成了维护上的不便。因此需要把相同的程序代码提升为父类

子类

子类只能继承一个父类,继承除可避免类间重复的行为定义外,还有子类和父类存在着is-a的关系
子类如果继承抽象类,对于抽象方法有两种做法,一种做法是继续标志该方法为abstract,另一种做法是操作抽象方法

继承的好处

父类中定义的方法例如getName(),子类无需再次定义,可以直接取用;数据成员例如name改为其他名称,直接改父类,子类无须再次修改。

编译程序

编译程序就是语法检查器,要知道程序片段为何可以通过编译,为何却无法通过编译,就是将自己当作编译程序,检查语法的逻辑是否正确,方式是从=号右边往左读
对drawFight()方法而言,只知道传进来的会是一种Role对象,所以编译程序也只能检查你调用的方法以及Role是不是有定义

定义

有时候重新定义方法时,并非完全不满意父类中的方法,只是希望在执行父类中方法的前、后做点加工
多态定义:抽象来讲,就是使用单一接口操作多种类型的对象。对于课本范例,在showBlood()方法中,即可以通过Role类型操作剑士对象,也可以通过Role类型操作魔法师对象
class前也可以加上final关键字,class前使用了final关键字定义,那么表示这个类是最后一个了,不会再有子类,也就是不能被继承
重新定义:重新定义即是对待同一方法子类的修改
新定义:新定义则是一种合法的方法定义,定义一种新方法,对之前的方法没有任何影响。两者定义格式一样,新定义的产生往往是拼写错误。

super与this

两者可能看起来意思差不多,但是有了父类子类之后,this只是代表了当前类,super则代表了父类
而且两者只能选一个用,在构造的第一行才可以使用

垃圾收集

在Java中,程序员不需要去关心内存动态分配和垃圾回收的问题,这一切都交给了JVM来处理。JVM会把无法通过变量引用的对象当作垃圾对象进行搜集

接口定义

我理解的接口就是一段程序中可能有很多类会有共同的行为,但这些类本身并不具有任何关系,如果使用继承的话程序架构会不合理,所以使用统一的接口表示这些类具有共同的行为

对接口中的定义可以有两种处理方式:
1)操作接口中定义的方法
2)再度将该方法标示为 abstract
接口的出现将“多继承”通过另一种形式体现出来,即 “多实现”
接口与接口之间可以有继承关系

我们注意到该方法只定义了一个接口,但是并没有具体操作方法。如果想要拥有role中的行为必须操作接口。我们用关键字implements操作接口

使用interface来定义抽象的行为外观,方法要声明为public abstract,无须且不能有操作。为了方便,也可以省略public abstract,编译程序会协助补齐。可以使用接口枚举常数,只能定义为public static final。为了方便,也可以省略public static final

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

任何学科的基础一定是书本,只有认真的看书本,不是一味的为了加分而学习,带着学知识的想法去学习,不管学了多少,至少自己的这一天没有白过,可能生活过得太过安逸,高中那种学习的激情已经没有了,但是我相信,如果建立了一种学习的习惯,那么不管怎样,总会比浑浑噩噩的过完整个大学好。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 100/100 1/1 17/17
第二周 100/100 1/1 15/15
第三周 100/100 1/1 17/17
第四周 380/380 1/1 15/15

参考资料

20145229吴姗珊 《Java程序设计》小总结的更多相关文章

  1. 20145229吴姗珊两天小总结 《Java程序设计》第4周学习总结

    20145229吴姗珊两天小总结 <Java程序设计>第4周学习总结 教材学习内容总结 由于自己的基础不好对知识的理解不透彻,所以这两天的学习还是集中在第六章和第七章,对知识点多了一点理解 ...

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

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

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

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

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

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

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

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

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

    20145229吴姗珊 <Java程序设计>第3周学习总结 教材学习内容总结 第四章 认识对象 4.1类与对象 1.对象(Object):存在的具体实体,具有明确的状态和行为 2.类(Cl ...

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

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

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

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

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

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

随机推荐

  1. SlidingMenu+Fragment实现当前最流行的侧滑

    1 http://www.krislq.com/2013/03/android_case_slidingmenu_fragment/ 2 https://github.com/jfeinstein10 ...

  2. quick-cocos2d-x3.2 scheduler使用注意事项

    近期在使用scheduler时发现例如以下问题 调用: local scheduler = require(cc.PACKAGE_NAME .. ".scheduler") fun ...

  3. Heterogeneity Wins

     Heterogeneity Wins Edward Garson THE nATuRAl EvoluTion oF CoMpuTER TECHnology has brought about im ...

  4. 自定义Spring Shell

    目录 概述 自定义内置命令 禁用内置命令 覆盖内置命令 自定义命令提示符 自定义命令行选项行为 自定义参数转换器 概述 官网:https://projects.spring.io/spring-she ...

  5. unity3d动态加载资源

    在Unity3D的网络游戏中实现资源动态加载 分类: 最新学习2012-06-14 13:35 1127人阅读 评论(0) 收藏 举报 网络游戏nullvectorjson游戏string 用Unit ...

  6. iOS左滑手势失效

    iOS7之后,苹果优化了一个小功能,就是对于UINavagationController堆栈里的UIViewController,只要轻轻在视图控制器的左边缘右滑一下,该视图控制器就会pop出栈(前提 ...

  7. WEBserver、应用程序server、HTTPserver差别

    WEBserver.应用程序server.HTTPserver差别 WEBserver.应用程序server.HTTPserver有何差别?IIS.Apache.Tomcat.Weblogic.Web ...

  8. esper 附录A

    A2 select irstream symbol, volume, price from MarketDate.win.time(5.5 sec) seconds seconds seconds s ...

  9. Tomcat startup.bat启动隐藏弹出的信息窗口

    to make tomcat to use javaw.exe instead of java.exe using some startup parameter or environment vari ...

  10. Keepalived 集群在Linux下的搭建

    [概述]:Keepalived 是一个免费开源的,用C编写.主要提供loadbalancing(负载均衡)和 high-availability(高可用)功能,负载均衡实现需要依赖Linux的虚拟服务 ...