学号 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. 基于timestamp和nonce的防重放攻击

    以前总是通过timestamp来防止重放攻击,但是这样并不能保证每次请求都是一次性的.今天看到了一篇文章介绍的通过nonce(Number used once)来保证一次有效,感觉两者结合一下,就能达 ...

  2. 【爬虫】使用xpath与lxml移除特定标签

    移除标签的两种方式 可以用xpath定位 for bad in html.xpath(".//table"): bad.getparent().remove(bad) 参考:htt ...

  3. java国际化

    import java.util.Locale; import org.junit.Test; /** * 使用指定的国际化文件 */ public class Demo { @Test public ...

  4. Jetbrains Idea连接TFS时配置的坑

    #Team Explorer Everywherehttps://www.microsoft.com/en-us/search/result.aspx?q=team+explorer+everywhe ...

  5. The log scan number (620023:3702:1) passed to log scan in database 'xxxx' is not valid

    昨天一台SQL Server 2008R2的数据库在凌晨5点多抛出下面告警信息: The log scan number (620023:3702:1) passed to log scan in d ...

  6. kali linux源大全

    输入leafpad /etc/apt/sources.list进入        #官方源 deb http://http.kali.org/kali kali main non-free contr ...

  7. C#-简介(一)

    1.C#语言简介 C#计算机语言 是一门高级计算机语言 他的开发模式更接近人类和社会的思维模式,有助于提高开发效率 C#历史 1998年COOL这个项目是C#语言的前身,由微软 Anders Hejl ...

  8. mssql 一次向表中插入多条数据的方法分享 (转自:http://www.maomao365.com/?p=6058)

    转自:http://www.maomao365.com/?p=6058) <span style="font-size:16px;font-weight:bold;"> ...

  9. Dapp已来,如何把握区块链创富模式变化的趋势

    区块链技术持续升温,Dapp迅速成为焦点,未来区块链市场上新的蓝海.这么说当然不是空想出来的,而是从区块链市场的发展趋势中推断而来.区块链市场由最初的挖矿炒币到如今尝试投入行业应用,随着技术和应用模式 ...

  10. Ubuntu下vim打开文件时,提示请按ENTER或其它命令继续

    最近配置了一下vim,重启后,配置生效.但在用vim打开文件的时候,出现了一个问题:每次用vim打开文件的时候,都会提示请按ENTER或其它命令继续.这个真的很烦人.那么怎么把它消除掉呢? 首先要搞清 ...