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

教材知识点总结

1.子类和父类:

子类的继承性:子类与父类在同一包中——子类继承父类中不是private的变量

       子类与父类不在同一包中——子类继承父类中不是private和友好类的变量

注意:当protected类型的变量使用时,只需要变量所在的子类与父类在同一包中即可,例如:类D 是类A的子类B 的子类C 的子类,只需要类A和类D在同一包中即可。

2.子类对象:

当子类对象中声明的成员变量被分配内存空间时,父类中的变量(包括private类和子类中没有使用的)都被赋予了内存空间。

3.instanceof运算符:

格式:对象   instanceof   类(子类)

4.隐藏与重写:

  • 继承:当子类声明的成员变量与父类继承的成员变量名字相同时(类型可以不相同),被继承的成员变量会被隐藏
  • 方法重写:子类中定义的类型和父类一致或者是父类的子类型;重写时要注意方法的名字、参数个数和参数类型要与父类方法相同,但参数可以不同;
  • 重写目的:将父类中状态和行为改变为自身的
  • 重写时不可以降低方法的访问权限

5.super关键字作用:

  • 操作被子类隐藏的成员变量或方法
  • 在子类的构造方法中调用父类的构造方法,原因:子类不继承父类的构造方法。

6.final关键字:

final关键字修饰类、成员变量和方法中的局部变量;当final修饰类时,该类不能被继承;final修饰方法时,该方法不允许被子类重写;final修饰变量时,该量为常量

final不能与abstract同时修饰一个类

7.上转型对象:

  • 上转型对象不能调用对象新增的变量和新增的方法,可以调用隐藏的变量,继承的变量,继承或重写的方法
  • 子类对象的上转型对象不能调用子类重写的父类的静态方法,只能调用父类的静态方法

8.继承与多态:

  • 继承:父类中的变量和方法被子类调用进行操作
  • 多态:父类的方法被子类重写时,产生各自的功能行为

9.关键字abstract:

  • abstract类中有无abstract方法均可,非abstract中不能有abstract方法
  • abstract类不能用new运算符创建对象,其子类必须重写父类的abstract方法,给出方法体
  • abstract类中只是封装了要求,对于要求的具体内同应在子类中具体给出

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

问题1:对于super关键字的第二个用法的功能不是很理解

解决方案:首先在蓝墨云中观看了相关的讲解,之后对书上例子8中的程序按照视频资源上讲述的方法进行修改,分别删去了父类中的空构造方法和子类中的super(number,name) 语句进行编译,观察编译的结果的不同。super在调用父类的构造方法是默认调用的是父类中不带参数的构造方法,因此在编写程序时应注意在父类中编写一个不带参数的构造方法避免出现错误。

问题2:对于5.10节中的面向抽象编程理解有一些困难,对于书上的例子理解的也不是很明白

解决方案:这个问题主要原因是并不理解设计这类问题的主要思路,单靠自己看书理解比较花费时间,因此我选择在观看视频的讲解,在观看的同时按照视频中画图的方法将问题转化为图形解决,发现对于自己很有帮助,理解起来也更加清晰容易

问题3:第五章课后题4在IDEA中编译时无法找到对应的文件

解决方案:开始以为是自己的程序中的某个环节书写错误导致找不到对应文件,后来发现主类中忘记编写public static void main(String args[ ])语句

代码托管

心得体会

  Java这门课大部分以自学为主,因此在学习过程中需要大量的耐心和时间,我觉得蓝墨云中发布的视频资源对于学习有非常好的帮助,书上的相关问题在其中都可以得到解答,其余问题在班课中也可以进行讨论,这对于我解决问题开辟了一条新的路径。第五章的内容虽然没有第四章多,但我觉得难度有明显提升,这主要是指在理解方面,程序开始变得多样复杂,需要有清晰的思路去理解,尤其是在调用和返回这一方面。在完成课后习题时也发现了一些问题,虽然理解了书上的内容但实际上手时还存在困难。课后的编程题,单独的一个类拿出编写时很好完成,但是在类与类的衔接即主类的写法上就需要时间理清思路,否则会像我在第一次编写时,期待的和事实上得到的结果会有很大差距。本章在我看来除了书本上的知识点外还要学会构建框架,这对于面向抽象编程是十分关键的。

上周错题总结

1.下列关于构造方法的叙述,正确的是

A.当程序用类创建对象时,需使用它的构造方法。
B.类中的构造方法的名字必须与该类的名字完全相同,而且没有类型。
C.如果类中定义一个或多个构造方法,则默认为无参数的构造方法。
D.带有返回值的方法一定不是构造方法。
E.允许在一个类中编写若干个构造方法,但参数必须不同。
正确答案: A B D E

你的答案: A B C E

解析:P58 4.3.1节。C项:C.如果类中定义一个或多个构造方法,则Java不提供默认的构造方法。

20175209 《Java程序设计》第四周学习总结的更多相关文章

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

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

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

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

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

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

  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. 关于.net中的DataSet和DataTable

    DataSet ds = new DataSet(); ds.Tables.Add(); ds.Tables[].Columns.Add("name"); ds.Tables[]. ...

  2. Linux 访问控制列表(access control list)

    简介 随着应用的发展,传统的linux文件系统权限控制无法适应复杂的控制需求,而ACL的出现,则是为了扩展linux的文件权限控制,以实现更为复杂的权限控制需求.其可以针对任意的用户和用户组进行权限分 ...

  3. iOS证书配置与管理

    证书: 证书: 命名 特点 团队管理 开发证书 iOS Development 不与App ID对应 表示拥有开发应用的资格 一般只需一个,通过导出p12文件,分发给其他电脑安装: 生产证书 iOS ...

  4. linux 硬盘满了如何处理(转)

    linux 硬盘满了如何处理 事件源于在服务器运行一个脚本程序… 好好的脚本突然报错,还以为脚本出现问题了.细看报错原因(具体报错信息已经忘记了),是没有可用空间.从没遇见过这个情况,怎么办呢? 一. ...

  5. webstorm 的 .后缀名-tab快捷键

    if (key) {}//key.if tab if (!key) {}//key.else tab if (key != null) {}//key.notnull tab if (typeof k ...

  6. 解决topjui中工具栏按钮删除刷新从属表

    遇到了这么个问题:当在从属datagrid表格中,点击主表工具栏按钮中的删除,通过后台的多表删除的sql,返回给前台之后,从属表的数据成功在数据库中删除,但是在前台页面显示的时候,只刷新了主表,子表未 ...

  7. HTMLCSS--案例| 超链接美化 | 模态框 | tab栏选项卡

    一.超链接美化 二.模态框 三.tab栏选项卡 -------------------------------------------- 一.超链接美化 <!DOCTYPE html> & ...

  8. Ambari Metrics 详解

    Ambari Metrics 原理 Ambari Metrics System 简称为 AMS,它主要为系统管理员提供了集群性能的监察功能.Metrics 一般分为 Cluster.Host 以及 S ...

  9. 文本分类实战(七)—— Adversarial LSTM模型

    1 大纲概述 文本分类这个系列将会有十篇左右,包括基于word2vec预训练的文本分类,与及基于最新的预训练模型(ELMo,BERT等)的文本分类.总共有以下系列: word2vec预训练词向量 te ...

  10. 洛谷 P1101 单词方阵

    题目链接 https://www.luogu.org/problemnew/show/P1101 题目描述 给一n×n的字母方阵,内可能蕴含多个"yizhong"单词.单词在方阵中 ...