教材学习内容总结

第6章

  • 为了避免重复的行为定义使用继承。
  • 要学会如何正确判断使用继承的时机以及继承之后如何活用多态。
  • 继承的好处之一,就是若你要将name、lexel、blood改为其他名称,那就只要修改Role.java就可以了,只要是继承Role的子类都无法修改。
  • 子类只能继承一个父类,子类与父类之间会有is-a的关系。

    其中判断方法例子如下:
  1. Role role1=new SwordsMan();//SwordsMan是一种Role,编译通过。
  2. SwordsMan swordsMan=role1;//Role不一定是一种SordsMan,编译失败。
  • 正确的多态语法逻辑判断方式:从=号右边往左读,看右边是不是一种左边。
  • 多态:使用单一接口操作多种类型的对象。
  • 如果某方法区块中真的没有任何程序代码操作,可以使用abstract标示该方法为抽象方法,该方法不用撰写{}区块,直接“;”结束即可。
  • Java中规定内含抽象方法的类,一定要在class前标示abstract,表示这是一个定义不完整的抽象类。
  • 被声明为protect的成员,相同包中的类可以直接存取,不同包中的类可以在继承后的子类直接存取。
  • 如果想取得父类中的方法定义,可以在调用方法前,加上super关键字。
  • 如果class 前使用了final关键字定义,那么表示这个类是最后一个了,不会再有子类,也就是不能被继承。
  • 如果定义类时没有使用extend关键字制定继承任何类,那一定是继承java.lang.Object。

第7章

  • 类要操作接口,必须使用implements关键字。
  • 对于接口多态语法的判断,方式是“右边是不是拥有左边的行为”,或者“右边对象是不是操作了左边接口”。
  • 使用interface来定义抽象的行为外观,方法要声明为public abstract,无须且不能有操作。
  • enum语法,可以用于定义枚举常数。

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

  • 问题:不懂在实际操作中怎样将父类与子类的程序结合起来;解决过程:还未解决,正在询问同学中。

代码调试中的问题和解决过程

  1. package cc.openhome;
  2. class Some {
  3. void doService(){
  4. System.out.println("some service");
  5. }
  6. }
  7. class Other extends Some{
  8. @Override
  9. void doService(){
  10. System.out.println("other service");
  11. }
  12. }
  13. public class Main {
  14. public static void main(String[] args) {
  15. Other other = new Other();
  16. other.doService();
  17. }
  18. }
  1. package cc.openhome;
  2. class Some {
  3. void doService(){
  4. System.out.println("some service");
  5. }
  6. }
  7. class Other extends Some{
  8. @Override
  9. void doService(){
  10. System.out.println("other service");
  11. }
  12. }
  13. public class Main {
  14. public static void main(String[] args) {
  15. Some some = new Other();
  16. some.doService();
  17. }
  18. }

为何将main()中改变运行结果是一样的?解决过程:通过回顾本章内容,原来继承时使用extends关键字会使Other扩充Some的行为,继续Some的行为,再扩充Some中的doService()行为。

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

随着学习章节的增多,渐渐对Java有了越来越全面的理解,这周学习了继承和接口,渐渐的了解了模块代码的结合操作。在敲代码的过程中,虽然还是不能完全理解每段代码的意思以及代码段之间的联系,但慢慢适应吧,多花点功夫总会弄懂的。

代码托管截图:

学习进度条

代码行数 博客量 学习时间 重要成长
目标 5000行 30篇 400小时
第一周 80 1 15 懂得了Java与C语言的区别,自己要花更多的时间来学习Java
第二周 120 1 15 学会了使用IDE并成功运行代码,也发现了Java语法与C语言的相似。
第三周 200 1 16 有了敲代码同时注释的意识并且运用了少许
第四周 300 1 16 渐渐的了解了模块代码的结合操作

20145222黄亚奇《Java程序设计》第4周学习总结的更多相关文章

  1. 20145234黄斐《Java程序设计》第九周学习总结

    教材学习内容总结 JDBC Java语言访问数据库的一种规范,是一套API.JDBC (Java Database Connectivity) API,即Java数据库编程接口,是一组标准的Java语 ...

  2. 20145234黄斐《Java程序设计》第二周学习总结

    教材学习内容总结 类型 Java可区分为基本类型(Primitive Type)和类类型(Class Type),其中类类型也叫参考类型(Reference Type). 字节类型,也叫byte类型, ...

  3. 20145234黄斐《Java程序设计》第一周学习总结

    教材学习内容总结 1.java是SUN公司推出的面相网络的编程语言,当时取名Oak,后改名Java. 2.Java三大平台分别为:Java SE.Java EE与Java ME. 3.Java不仅是程 ...

  4. 20145222黄亚奇《Java程序设计》课程总结

    20145222黄亚奇<JAVA程序设计>课程总结 每周读书笔记链接汇总 第一周读书笔记 第二周读书笔记 第三周读书笔记 第四周读书笔记 第五周读书笔记 第六周读书笔记 第七周读书笔记 第 ...

  5. 20145222 黄亚奇 《网络对抗》Exp8 Web基础

    20145222 黄亚奇 <网络对抗>Exp8 Web基础 实践具体要求 (1).Web前端HTML(1分) 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法 ...

  6. 20145222黄亚奇《网络对抗》- shellcode注入&Return-to-libc攻击深入

    20145222黄亚奇<网络对抗>- shellcode注入&Return-to-libc攻击深入 shellcode注入实践过程

  7. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  8. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  9. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  10. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

随机推荐

  1. DEV 财务货币格式单元格

    在用友金蝶等财务软件中,经常需要输入货币类型的数据, 那么这种输入框要如何制作呢? 扩展DataGridView 的功能  出自在天空飞翔博客 http://www.cnblogs.com/micha ...

  2. chrome和搜狗浏览器的js问题

    1.在chrome中如果是js添加颜色必须用"#00CC00",必须加#号...不然会出问题,但是在搜狗浏览器中可以没有#号也能正确识别...

  3. JavaScript Patterns 2.10 Naming Conventions

    1. Capitalizing Constructors var adam = new Person(); 2. Separating Words camel case - type the word ...

  4. 【原创】Java实现手机号码归属地查询

    网络上已经有很多的手机号码归属地查询的API接口,但是这些接口总是有一些大大小小的缺陷. 总结一下这些缺陷: 1.要直接将它的搜索框链接形式粘到自己的页面,点击查询的时候还要跳转到他们的网站来展示归属 ...

  5. [转]shell脚本打印日志方法

    该文章转自:http://blog.csdn.net/wylfengyujiancheng/article/details/50019299 ----------------------------- ...

  6. freemarker如何遍历HashMap

    查询资料有以下两种方法: 1. <#if appMap?exists> <#list appMap?keys as key> key:${key} value:${appMap ...

  7. Less里css表达式的写法

    项目中用的grunt-contrib-less, 写了以下less代码 .mapfix{ position: fixed; top:10px; width: 430px; z-index: 100; ...

  8. Vmware中Ubuntu的各种问题

    Question1: Ubuntu正在运行的时候手残强行关闭了Vmware软件,重启软件发现如下图所示的状态: ''' 完全黑屏怎么解决,提示信息是recovering journal就是说正在恢复日 ...

  9. 自定义input[type="radio"]的样式

    对于表单,input[type="radio"] 的样式总是不那么友好,在不同的浏览器中表现不一. 为了最大程度的显示出它们的差别,并且为了好看,首先定义了一些样式: <fo ...

  10. Jenkins插件hyper slaves源码分析

    1.public class HyperSlaves extends Plugin implements Describable<HyperSlaves> (1).init():初始化co ...