学号 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. Cesium-知识点(Viewer)

    Cesium之Viewer的构造(转自:https://blog.csdn.net/zhy905692718/article/details/78865107) Viewer属于Cesium的控件部分 ...

  2. Javascript 对象 - 数学对象

    数学对象 JavaScript中提供了math对象,math对象包含一些常用的属相和方法.Math对象与Array对象.String对象.Data对象不同,没有构造函数,因此不能创建Math对象.可直 ...

  3. listview 异步加载图片并防止错位

    1.图片错位原理: 如果我们只是简单显示list中数据,而没用convertview的复用机制和异步操作,就不会产生图片错位:重用convertview但没用异步,也不会有错位现象.但我们的项目中li ...

  4. Ubuntu16.04下postgresql-10

      这里使用源码安装的方式进行: Linux版本:ubuntu16.04 PostgresSQL版本:postgresql-10.3 在PostgreSQL官网下载地址:https://www.pos ...

  5. MySQL5.7 搭建主从同步

    性能更好的新服务器申请下来了,我们决定在2台新服务器上使用mysql5.7,并且使用主从同步.读写分离架构,很不幸这个任务落到了我的头上.读写分离是在业务代码中实现的,在此不做详述,介绍一下我搭建My ...

  6. Cygwin下编译的程序不使用Cygwin.dll即可运行的命令 及常用命令简介

    cc -mno-cygwin foo.c 1.$ ps PS的相关用法: QuoteUsage ps [-aefl] [-u uid]-f = show process uids, ppids-l = ...

  7. DBA思考系列——学会拒绝不合理的需求

    DBA思考系列--学会拒绝不合理的需求   一直以来,个性都比较随意,一般很少拒绝开发人员的一些需求(有点老好人的感觉). 这点一直被老大诟病,也一直在反省!最近又有一件事情,让我觉得:应该学会拒绝不 ...

  8. C#发布和调试WebService

    一.编写并发布WebService服务 1.新建空web应用程序

  9. Error in Log_event::read_log_event(): 'Event too small', data_len: 0, event_type: 0

    MySQL主从复制报错如下: 2018-04-11 09:11:16 2400 [Note] Slave SQL thread initialized, starting replication in ...

  10. hive笔记:转义字符的使用

    hive中的转义符 Hadoop和Hive都是用UTF-8编码的,所以, 所有中文必须是UTF-8编码, 才能正常使用 备注:中文数据load到表里面, 如果字符集不同,很有可能全是乱码需要做转码的, ...