学号 20175329 2018-2019-3《Java程序设计》第四周学习总结

教材学习内容总结

  • 第五章
    上周学习的第四章是体现了数据的封装,本章第五章主要是体现出对象的另外两个方面的重要内容:继承与多态。

  • 子类与父类
    继承是一种由已有的类创建新类的机制。利用继承,可以先定义一个共有属性的一般类,根据该一般类再定义具有特殊属性的子类,子类继承一般类的属性和行为,并根据需要增加它自己的新的属性和行为。

  • 如果子类和父类在同一个包中,那么子类自然地继承了父类中不是pirvate的成员变量作为自己的成员变量,并且也自然地继承了父类中不是pirvate的方法作为自己的方法,继承的成员变量或方法的访问权限保持不变。子类只继承父类中的protectedpublic访问权限的成员变量作为子类的成员变量。

  • instanceof运算符是Java独有的双目运算符,其左面的操作元是对象,右面的操作元是类,当左面的操作元是右面的类或其子类所创建的对象时,instanceof运算的结果是true,否则是false。

  • 声明的成员变量的名字和从父类继承来的成员变量的名字相同,在这种情况下,子类就会隐藏所继承的成员变量。
    1. 子类对象以及子类对象定义的方法操作与父类同名的成员变量是指子类重新声明的这个成员变量。
    2. 子类对象仍然可以调用从父类继承的方法操作被子类隐藏的成员变量,也就是说,子类继承的方法所操作的成员变量一定是被子类继承或隐藏的成员变量。
  • super关键字
    子类如果隐藏了成员变量或者继承的方法,那么子类所创建的对象就不能调用被隐藏的方法,该方法的调用由关键字super负责。

  • 使用super调用父类的构造方法

  • final关键字
    final类不能被继承,可以修饰类、成员变量和方法中局部变量。如果用于修饰父类中的一个方法,那么这个方法不允许子类重写。用于修饰常量在运行期间不允许再发生变化。

  • 对象上的上转型对象
    1. 上转型对象不能操作子类新增的成员变量,不能调用子类新增的方法。
    2. 上转型对象可以访问子类继承或隐藏的成员变量,也可以调用子类的继承方法或子类重新的实例方法。上转型对象操作子类继承的方法或子类重新的实例方法,其作用等价于子类对象去调用这些方法。因此,如果子类重写了父类的某个实例方法后,当对象的上转型对象调用这个实例方法一定是调用了子类重写的实例方法。
  • abstract
    1. abstract类中可以有abstract方法。
    2. 抽象类可以抽象出重要的行为标准,该行为标准用抽象的方法来表示。级抽象类封装了子类必须要有的行为标准。
    3. 抽象类声明的对象可以成为其子类的对象的上转型对象,调用子类重写的方法,体现了子类根据抽象类里的行为标准给出具体的行为。

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

  • 问题1:刚开始对于extentsuper的使用方法以及远离不是很理解
  • 解决方案:extent的书写使用法方是子类与父类中的使用,对于这种使用如果画一个原理图会更好的理解,重新查看java学习的视频课后自己按照视频中划出来一个类似的图后类似于集合图一目了然。super由创建对象引用子类方法的过程,由于子类建立过程中回隐藏成员变量以及方法通过super方法可以调用被隐藏的变量。

  • 问题2:abstract与之前在学习第四章类与对象是多个java文件由一个Example文件调用混淆
  • 解决方案:重新找出第四章的代码然后手动敲出第五章的代码然后再比较后查看概念发现abstract是一个第四章的进一步延申,第四章中只是单纯的题到调用但是却没有说有哪些函数可以调用,但是使用abstrct在public前声明可以知道有哪些些类可以被调用创建对象,让一个程序更加完善也更加体现java程序的分工明确可以细化工程。

代码托管

上周考试错题总结

上周测试相比以前有一定的进步,至少能够按时完成老师布置的任务,这与自己课下做了更多的功夫有一定的关联,希望能够再接再厉,但是在布置平方数倒叙排序的时候自己的程序还是不够完善,不够简化,后来查资料发现应该可以调用import java.util.*的方式来直接进行平方排数。

心得体会

学习java也有一个月了这一个月学习了很多很新的概念对于编程有了更深层次的了解,作为高级语言相比C语言有很多的不同之处,但正是这些的不同之处可以让我们更加方便地通过机械语言编译一些程序去满足多种化的需求,我也希望自己能在java学习中下更大的决心与精力,让自己变得越来越好跟着娄老师学到更多的东西!

学习进度条

  代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积)                          重要成长                                 
    目标                   5000                              15                             400                                         目标能够运用自行开发Android 
  第一周                  10/10                              2/2                             10/10                初步熟悉JAVA以及语法区分与C的不同之处
第二周 100/100 3/3 35/35 语法知识
第三周 300/300 4/4 60/60 了解对象
第四周 800/800 5/5 80/80 学习到子类与父类

参考资料

Java学习笔记(第8版)-
《Java学习笔记(第8版)》学习指导

学号 20175329 2018-2019-3《Java程序设计》第四周学习总结的更多相关文章

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

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

  2. 学号 20175201张驰 《Java程序设计》第7周学习总结

    学号 20175201张驰 <Java程序设计>第7周学习总结 教材学习内容总结 第八章 String类能有效地处理字符序列信息,它的常用方法有: public int length()可 ...

  3. 20172328 2018—2019《Java软件结构与数据结构》第二周学习总结

    20172328 2018-2019<Java软件结构与数据结构>第二周学习总结 概述 Generalization 本周学习了第三章集合概述--栈和第四章链式结构--栈.主要讨论了集合以 ...

  4. 学号 20175201张驰 《Java程序设计》第8周学习总结

    学号 20175201张驰 <Java程序设计>第8周学习总结 教材学习内容总结 第十五章 知识总结: 1.泛型类声明:可以使用"class 名称"声明一个类,例如:c ...

  5. 学号 20175201张驰 《Java程序设计》第6周学习总结

    学号 20175201张驰 <Java程序设计>第6周学习总结 教材学习内容总结 第7章 ·1.Java支持在一个类中声明另一个类,这样的类称作内部类,而包含内部类的类称为内部类的外嵌类 ...

  6. 学号 20175201张驰 《Java程序设计》第5周学习总结

    学号 20175201张驰 <Java程序设计>第5周学习总结 教材学习内容总结 第六章 ·1.接口的接口体中只可以有常量和abstract方法. ·2.和类一样,接口也是Java中一种重 ...

  7. 学号 20175201张驰 《Java程序设计》第4周学习总结

    学号 20175201张驰 <Java程序设计>第4周学习总结 教材学习内容总结 第5章 继承:避免多个类间重复定义共同行为,用我们已经有的类,去创建新的类 任何子类都可以继承它的父类的成 ...

  8. #学号 20175201张驰 《Java程序设计》第3周学习总结

    学号 20175201张驰 <Java程序设计>第3周学习总结 教材学习内容总结 第四章 每个源文件里可以包含多个类,但只能有1个主类:类中可以包含变量和方法 变量有两种:实例变量和类变量 ...

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

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

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

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

随机推荐

  1. 洛谷P5245 【模板】多项式快速幂(多项式ln 多项式exp)

    题意 题目链接 Sol \(B(x) = \exp(K\ln(A(x)))\) 做完了... 复杂度\(O(n\log n)\) // luogu-judger-enable-o2 // luogu- ...

  2. MongoDB 3.0 WT引擎参考配置文件

    单实例: systemLog: destination: file ###日志存储位置 path: /data/mongodb/log/mongod.log logAppend: true stora ...

  3. wap2app(一)-- 网站快速打包成app

    工具:HBuilder,下载地址:http://www.dcloud.io/ 下载并安装HBuilder后,打开编辑器,选择:文件 -> 新建 -> 项目,出现如下图: 选择wap2app ...

  4. Android Studio多渠道打包(一)

    1. 多渠道的概念 APP发布到不同的应用平台,监测用户是从哪个平台安装的. 2. 为什么要多渠道打包 统计用户安装APP来源 批量修改生成的apk文件名 可更改包名 生成不同应用名称或图标 3.多渠 ...

  5. python模块--collections

    python的内建模块collections有几个关键的数据结构,平常在使用的时候,开发者可以直接调用,不需要自己重复制造轮子,这样可以提高开发效率. 1. deque双端队列 平常我们使用的pyth ...

  6. 章节七、1-ArrayList

    一.集合是一个容器,前面讲的数值也是一个容器, 它们的区别是: 1.数组既可以存储基本数据类型,又可以存储引用数据类型,而集合只能存储引用数据类型,也就是对象. 2.基本数据类型存储的是值,引用数据类 ...

  7. GIT基本命令介绍

    1.git remote git remote -v| --verbose 查看仓库详细信息 git remote add <name> <url> 关联远程库.如果你本地新建 ...

  8. python第一百一十七天-----ModelForm组件

    Model + Form => 验证 + 数据库操作 - class LoginModelForm(xxxxx): 利用model.A中的字段 1. 生成HTML标签:class Meta: . ...

  9. phpstorm设置背景图片

    对于这个问题,其实很简单,连续按两下shift键或者是Ctrl+Shift+A键即可.出来的界面如下: 输入set Background Image命令,出现的界面如下: 然后选择图片, 点击ok,即 ...

  10. Kernel数据结构移植(list和rbtree)

    主要移植了内核中的 list,rbtree.使得这2个数据结构在用户态程序中也能使用. 同时用 cpputest 对移植后的代码进行了测试.(测试代码其实也是使用这2个数据结构的方法) 内核代码的如下 ...