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

教材学习内容总结

ch05

  • 子类与父类以及子类的继承性

    • 一个子类只能有一个父类
    • 使用extends关键字定义子类
    • 子类与父类在同一个包中、不在同一个包中的不同继承特点。
  • 子类与对象
    • 子类对象可以调用继承的方法,操作没有继承的成员变量。
  • 成员变量的隐藏与方法的重写
    • 子类从父类继承来的成员变量与子类自己所声明的成员变量名字相同,则会隐藏继承的成员变量。
    • 子类通过重写可以隐藏继承的方法(也称方法覆盖)
    • 重写的规则及目的
  • superfinal关键字
  • 对象的上转型对象以及继承与多态
    • 用子类创建一个对象a,并把这个对象的引用放到父类的对象b中,则对象a是对象b的上转型对象。
  • abstract类与abstract方法
  • 面向抽象编程

ch06

  • 接口以及接口的实现

    • 接口的接口体中只可以有常量和abstract方法
    • 和类一样,接口也是Java中的一种重要的引用型数据类型,接口变量中只能存放实现该接口的实例(对象)的引用。
  • 接口回调:当接口变量中存放了实现接口的类的对象的引用后,接口变量就可以调用类实现的接口方法,这一过程被称为接口回调。
  • 理解接口以及接口与多态:和子类体现多态类似,由接口产生的多态就是指不同的类在实现同一个接口时可能具有不同的实现方式。
  • 接口参数
  • 面向接口编程

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

  • 问题1:为什么要重写而不是新写一个方法呢?
  • 问题1解决方案:方法的名字是非常重要的,而且是常用的,这样在使用时,方法便是人们习惯性使用的,更加方便操作。
  • 问题2:教材121页中,子类定义方法computer时,多增加了一个变量,此时是否属于重写继承的computer方法呢?编译与运行结果如何?
  • 问题2解决方案:此时不属于重写computer方法,由于子类没有覆盖继承computer方法,使子类出现了方法重载。
  • 问题3:super关键字的好处是什么?
  • 问题3解决方案:又要重写,还想继续使用这个方法,即想用父类的变量或方法,并想改进父类,但又不想重敲一遍,这时便可利用super关键字。
  • 问题4:为什么使用接口,而不是直接写个方法实现呢?
  • 问题4解决方案:当子类有不同的父类时,但还要有同样的行为标准,可以使用同一个接口。

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

  • 问题1:编译Example6_4.java时,出现了如图所示的错误,如何解决?

  • 输出命令行System.out.printf错敲成System.out.println.

代码托管

上周考试错题总结

  • 错题1:观察以下方法的定义,则该方法的返回类型为?
ReturnType method(byte x,double y) {
return (short)x/y*2;
}

原因:对于类型转换的知识点理解不太透彻。

理解情况:shortbyte类型的x强制转换为short类型,但y的精度更高,所以返回类型为double

  • 错题2:shortFloat都属于基本数据类型?

    原因:未区分清楚数据类型与封装类的区别。

    理解情况:Floatfloat提供的封装类,不是基本数据类型。
  • 错题3:定义float x = 0.5f;double y = 0.5,则x == y结果为false

    原因:对于float与double类型的异同掌握不熟练。

    理解情况:0.5floatdouble的范围内都可以使用二进制精确表示,因此二者相等。

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

本周对于编程的学习已经深入到了编程思想方面,例如面向抽象编程与面向接口编程。这些思想有着很大的共同之处,在用户需求多变的时候,接口与抽象的方法对于修改和维护程序提供着更大的便利。在这周的学习中,对于知识点的理解慢慢的有一些容易了,由于微课视频中,老师会举一些直观,贴近生活的例子。但是感觉到自己可以编写出一个全面可行的程序还相差甚远,需要继续努力。

20165233 Java第五、六章学习总结的更多相关文章

  1. 20165233 Java第二、三章学习总结

    2017-2018-2 <Java程序设计>第二周学习总结 教材学习内容总结 第二.三章 ch2 标识符与关键字 基本数据类型: 逻辑类型:boolean 整数类型:int.byte.sh ...

  2. “全栈2019”Java多线程第六章:中断线程interrupt()方法详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  3. “全栈2019”Java异常第六章:finally代码块作用域详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...

  4. “全栈2019”Java第九十六章:抽象局部内部类详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  5. “全栈2019”Java第五十七章:多态与构造方法详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  6. “全栈2019”Java第五十三章:向上转型和向下转型详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  7. “全栈2019”Java第五十一章:继承与final关键字详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  8. “全栈2019”Java第二十六章:流程控制语句中循环语句do-while

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  9. “全栈2019”Java第十六章:下划线在数字中的意义

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  10. Spring实战第六章学习笔记————渲染Web视图

    Spring实战第六章学习笔记----渲染Web视图 理解视图解析 在之前所编写的控制器方法都没有直接产生浏览器所需的HTML.这些方法只是将一些数据传入到模型中然后再将模型传递给一个用来渲染的视图. ...

随机推荐

  1. WPF 动画 和 色彩 的随笔

    1:善于用“Margin”做动画效果 2:色彩处理通常用:Brush,而Brush(如:SolidColorBrush)的实例化,通常需要载入“ System.Windows.Media.Color” ...

  2. [转]Linux下彻底卸载mysql详解

    http://www.jb51.net/article/97516.htm 一.使用以下命令查看当前安装mysql情况,查找以前是否装有mysql 1 rpm -qa|grep -i mysql 可以 ...

  3. vue-cli如何添加多种环境变量

    vue-cli如何添加多种环境变量 目前webpack(vue-cli) 打包有两种变量,development, productor, 如何添加一个 test的测试环境呢 vue-cli 3.0 v ...

  4. DOM之概述

    body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...

  5. CAM350对比两个gerber之间的差异

    今天客供的gerber 版本更新,要检查区别. 参考: https://wenku.baidu.com/view/a154028c19e8b8f67d1cb93f.html 这个更加详细: https ...

  6. Java 工程师求职遇害|多一分警惕,少一份悲剧

    当朋友圈里满是战狼票房屡创新高的刷屏文章时,一则有关 Java 开发工程师李文星面试遇害的报道,却令人唏嘘不已.年仅23岁.正值青春年少.怀揣着通过打拼奋斗实现养家糊口梦想的大学毕业生,在初入职场的第 ...

  7. 接口测试HttpClient实践20150925

    用了工具做接口测试,但是对于加密数据和结果的比对,以及批量数据读取,回头还是觉得代码来更方便灵活,从excle中读取数据,构成参数,发请求,并获取返回结果和预期值比较,并将结果输出程报告,可以深入做成 ...

  8. Python数据类型-01.数字和布尔值

    本节主要介绍Python中的基础知识中的数据类型,数字和布尔值 介绍几个知识点:1)内置函数print()的用法,直接打印括号里面的内容,或者print后跟多个输出,以逗号分隔.2)内置函数type( ...

  9. Python3.5 源码安装 Ubuntu16.04环境

    安装源码编译所需的各种依赖库:(Ubuntu16.04环境下) sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-de ...

  10. js字符串的裁剪

    一.JavaScript字符串的处理方法 1.split()  功能:使用一个指定的分隔符把一个字符串分割存储到数组 例子:   str=”jpg|bmp|gif|ico|png”; arr=str. ...