20155213 2016-2017-2《Java程序设计》第四周学习总结

教材学习内容总结

继承与多态

继承

  • 继承避免多个类间重复定义共同行为,使用关键字extends。继承表明了子类与父类之间的is-a关系,中文称为“是一种”。子类继承父类之后,定义与父类中相同的方法部署,但执行内容可以相同也可以不同,不同时需要“重新定义”,并且可以改写父类里抽象类型 在@Override下重写

多态

  • 继承的多态是指同一父类有很多子类,被很多子类重复使用。
  • 被声明为protect的成员,相同包中的类可以直接存取,不同包中的类可以在继承后的子类直接存取。

一些继承里出现的关键字语法小结

关键字 解释
super() 可以直接调用父类函数,越级调用;
this() 通常指当前对象,调用当前类中函数
extends 后接继承类名称,用于继承
abstract 标示该方法为抽象方法

接口与多态

接口

  • 在Java中可以使用interface关键字定义行为。可供其他类调用该接口,调用时需要关键字implement打头;
  • 操作接口则表示“拥有行为”,某个类可以同时拥有很多接口
  • 在子类的操作中可以用@Override重写

【注释】可以访问java中super的两种用法了解下super()用法;

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

  • 问题一:println,printf,print的具体用法,以及格式控制
用法
print 将它的参数显示在命令窗口,并将输出光标定位在所显示的最后一个字符之后
println 将它的参数显示在命令窗口,并在结尾加上换行符,将输出光标定位在下一行的开始
printf 格式化输出的形式
  • 其中printf()继承了C语言里的printf()函数,里面相关格式控制具体参考Java中print、printf、println的区别;
  • 问题二:private,public,无关键字,protected的权限比较
  • public、protected、默认、private修饰方法时作用域依次降低public方法作用域为本类,包内,子类,包外都可protected方法作用域为本类,包内,子类默认关键字修饰的方法的作用域为本类,包内private方法作用域只是本类
  • 可以参考public、protected、默认、private关键字;

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

  • 问题:编译不通过:不兼容,ROle无法转换成SwordMan型;

  • 这是典型的is-a问题,当时在定义SwordMan类时,继承了Role类,因此,Role和SwordMan类的关系是,Role是SwordMan的父类,SwordMan 是一种(is-a)Role,在代码里只需修改后部代码,改为Role swordman =new SwordMan();就行了

代码托管

  • 代码提交过程截图

  • 代码量截图:

上周考试错题总结

卷四,第一题

  • (grep)命令可以进行全文搜索。
  • 解释:grep是linux中很常用的一个命令,主要功能就是进行字符串数据的对比,能使用正则表达式搜索文本,并将符合用户需求的字符串打印出来。grep全称是GlobalRegularExpressionPrint,表示全局正则表达式版本,它的使用权限是所有用户。grep在数据中查找出一个字符串时,是以整行为单位来进行数据选取的。
  • System.out.println(“”+52+25);的结果是(5225)
  • 解释:System out println(""+i);等价于System.out.println(i.toString());。public String toString()返回该对象的字符串表示。通常,ToString()方法会返回一个“以文本方式表示”此对象的字符串。因此在本题中以字符串形式输出5225。

其他

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第二周 98/100 1/2 30/38 学习java的基础语法
第三周 302/300 1/3 27/30 学习java对象及封装
第四周 1032/1000 1/4 36/40 学习了继承与多态的关系,以及接口的多态操作

参考资料

20155213 2016-2017-2《Java程序设计》第四周学习总结的更多相关文章

  1. Java程序设计第四周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 答:①String类是final类,不能定义String的子类. ② instanceof ...

  2. 对于“2017面向对象程序设计(JAVA)第四周学习总结”存在问题的反馈

    对于“2017面向对象程序设计(JAVA)第四周学习总结”存在问题的反馈 “这部分同学博文总结没有写,实验作业没有提交.”——1.关于博文作业.实验作业教学功能的正解:学习知识.暴露问题.衔接课上.2 ...

  3. 杨其菊201771010134《面向对象程序设计(java)》第四周学习总结

    <面向对象程序设计(java)> 第四周学习总结 第一部分:理论知识 1.类与对象 a.类(class)是构造对象的模板或蓝图.由类构造对象的过程称为创建类的实例: java中类声明的格式 ...

  4. 201871010106-丁宣元 《面向对象程序设计(java)》第四周学习总结

    201871010106-丁宣元 <面向对象程序设计(java)>第四周学习总结 正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-da ...

  5. 20155318 2016-2017-2 《Java程序设计》第九学习总结

    20155318 2016-2017-2 <Java程序设计>第九学习总结 教材学习内容总结 学习目标 了解JDBC架构 掌握JDBC架构 掌握反射与ClassLoader 了解自定义泛型 ...

  6. 《Java程序设计》第二学习总结

    <Java程序设计>第二学习总结 教材学习内容总结 类型 byte(字节) shot(短整型) int(整型) long(长整型) float(浮点型) double(双精度) char( ...

  7. 20145304 刘钦令 Java程序设计第二周学习总结

    20145304 <Java程序设计>第2周学习总结 教材学习内容总结 java可区分基本类型和类类型(即参考类型)两大类型系统. 基本类型主要可区分为整数.字节.浮点数.字符与布尔. 整 ...

  8. 20145304 刘钦令 Java程序设计第一周学习总结

    20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...

  9. 20145120黄玄曦 《java程序设计》 寒假学习总结

    1和2.我对未来规划不多,我认为好好学习积累知识能帮助我应对未来的挑战,这是我的学习动力之一,此外,了解新知识满足好奇心也是我的主要的学习动力. 3.我认为专业课学习比公务员考试重要,我认为专业知识是 ...

  10. 201621123007 Java程序设计第一周 学习总结

    第一周-Java基本概念 201621123007 <Java程序设计> 第一周学习总结 1. 本周学习总结 java是面向对象的一类语言,三大特征:封装性,继承性,多态性. jdk jr ...

随机推荐

  1. 等待事件P1 P2 P3含义

    从以下两个视图中查到的session中,有P1,P2,P3参数select * from v$sessionselect * from v$session_waitselect * from v$se ...

  2. C/S架构的性能测试

    很多人关心LR在C/S架构上如何实施性能测试,我想根本原因在于两个方面,一是很多时候脚本无法录制,即LR无法成功调用被测的应用程序,二是测试脚本即使录制下来,可读性不强,往往不能运行通过,调试时无从下 ...

  3. app.config/web.config配置文件增删改

    一.概述 应用程序配置文件,对于asp.net是 web.config,对于WINFORM程序是 App.Config(ExeName.exe.config). 配置文件,对于程序本身来说,就是基础和 ...

  4. SuperSocket.ClientEngine介绍

    项目地址:https://github.com/kerryjiang/SuperSocket.ClientEngine 其中需要引入的SuperSocket.ProtoBase项目:SuperSock ...

  5. kali_metasploit问题

    出现类似提示: Failed to connect to the database: could not connect to server: Connection refused    Is the ...

  6. Java 使用poi导入excel,结合xml文件进行数据验证的例子(增加了jar包)

    ava 使用poi导入excel,结合xml文件进行数据验证的例子(增加了jar包) 假设现在要做一个通用的导入方法: 要求: 1.xml的只定义数据库表中的column字段,字段类型,是否非空等条件 ...

  7. webpack中使用babel处理es6语法

    index.js const arr = [ new Promise(()=>{}), new Promise(()=>{}) ]; arr.map(item => { consol ...

  8. [USACO09MAR]Sand Castle

    嘟嘟嘟 太水了,大佬们就绕道吧…… 就是m, b数组分别排个序,然后更改对应位置的m[i]和b[i],就行了. 因为如果m[i]不改为b[i]而是b[i + 1]的话,那么必定要将m[j] (j &g ...

  9. Hadoop学习之路(二十二)MapReduce的输入和输出

    MapReduce的输入 作为一个会编写MR程序的人来说,知道map方法的参数是默认的数据读取组件读取到的一行数据 1.是谁在读取? 是谁在调用这个map方法? 查看源码Mapper.java知道是r ...

  10. 浅谈Fluent Ribbon 中的SplitButton

    Fluent Ribbon Control Suite 就不做介绍了,网上的例子比较多,类似Office2007及以后版本的图形界面(菜单栏).官网地址:https://github.com/flue ...