20155302 2016-2017-2 《Java程序设计》第4周学习总结

教材学习内容总结

  • 有关类的继承的理解:类实现继承的格式:class 子类名 extends 父类名
  • 类的继承有三方面的内容,一是父类变量与方法的继承,二是父类变量与方法的覆写或称之为重载,三是super与this的使用区别。
  • 子类在继承父类中的方法与属性时,首先会执行父类中的构造方法,再执行子类中的构造方法。一般子类中隐含了super()语句(super主要的功能是完成子类调用父类中的内容)
  • 使用extends来扩充行为,先继承再扩充。
  • 覆写与重载:子类中的变量或方法,可以与父类中的一样,这时子类的变量与方法就“覆写”了父类的变量与方法,或称之为变量与方法的“重载”。
  • super与this最大的区别是,super调用的是父类中的变量或方法,当子类继承了父类中的变量或方法时,this和super的作用一样。当子类的变量或方法覆写了父类中的变量或方法时,由于覆写时子类和父类的变量名称或方法名称是一样的,这时super就会去调用父类中的变量或方法,而this只能调用子类中的变量或方法。当然明确为private类型的变量与方法还是不能调用的。
  • 多态的涵义:使用单一接口操作多种类型的对象。JAVA引用变量有两个类型:一个是编译时的类型,一个是运行时的类型,编译时的类型由声明该变量时使用的类型决定,运行时的类型由实际赋给该变量的对象决定。如果编译时类型和运行时类型不一致,就会出现所谓的多态。
  • 在继承父类之后,定义与父类中相同的方法部署,但执行内容不同,这称为重新定义。在重新定义父类中某个方法时,子类必须撰写与父类方法中相同的签署。
  • 使用abstract标示该方法为抽象方法,该方法不用撰写{}区块,直接“;”结束即可。
  • 子类如果继承抽象类,对于抽象方法有两种做法,一种是继续标示该方法为abstract(该子类因此也是一个抽象类,必须在class前标示abstract);另一种做法就是操作抽象方法。如果两种做法都没有实施,就会引发编译错误。
  • 权限关键字:依权限小至大来区分,就是private、无关键字、protected与public,设计时要使用哪个权限,是依照经验或团队讨论而定,如果一开始不知道使用哪个权限,就先使用private,以后视需求再放开权限。
  • 如果想取得父类中的方法定义,可以在方法调用前,加上super关键字,但可以使用super关键字调用的父类方法,不能定义为private(因为这就限定只能在类内使用)。重新定义方法时注意,对于父类中的方法权限,只能扩大不能缩小。
  • 接口说明了“做什么”,而实现这个接口的类,也就是实现类需要说明“怎么做”。接口可以用于定义行为但不定义操作。类要操作接口,必须使用implements关键字,操作某接口时,对接口中定义的方法有两种处理方式,一是操作接口中定义的方法,二是再度将该方法标示为abstract。
  • enum中列举的常数,枚举类型实例:public static final。

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

自己在练习中尝试打了一个代码,结果出现了一些疑惑。




两次代码区别只有子类中是否打了“String name”这行代码,为什么有这行代码运行结果就是大写的“LOVE”没有就是小写的"love"???
由此我去百度查找了相关解释。

解答:Cat子类在不写String name的时候是继承了父类Animals的成员变量name; 这时在main函数中实例化Cat,调用构造函数Cat(String name),其中的this.name就是Animals父类中的name。所以a.name随着赋值而变化 而当子类中写了String name;的时候是父类中的成员变量在子类中重写,main函数调用构造函数,其中的this.name代表的是Cat类中重写的成员变量name,而不是父类中的name。所以a.name保持不变,仍然是大写的LOVE

代码托管


上周考试错题总结

  1. CH04 填空:“30”转化为byte类型的30的语句是(Byte.parseByte(“30”);)。
  2. 填空:System.out.println(52+25+””);的结果是(77)
  3. 填空:Linux Bash中,(grep )命令可以进行全文搜索。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 20/20 2/2 20/20
第二周 140/160 2/4 18/38
第三周 113/273 1/5 20/58
第四周 335/608 1/6 20/78

20155302 2016-2017-2 《Java程序设计》第4周总结的更多相关文章

  1. 20155302 2016-2017-2 《Java程序设计》第九周学习总结

    20155302 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 基本数据库操作相关的JDBC接口或类是位于java.sql包中.在程序中要取得数据库联机,我 ...

  2. 20155227 2016-2017-2 《Java程序设计》第九周学习总结

    20155227 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 JDBC全名Java DataBase Connectivity,是java联 ...

  3. 20155328 2016-2017-2 《Java程序设计》第九周学习总结

    20155328 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 16.1 JDBC入门 JDBC是Java联机数据库的标准规范,定义一组标准类与接口,应用程 ...

  4. 20155216 2016-2017-2 《Java程序设计》第九周学习总结

    20155216 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC架构 JDBC API的使用 JDBC连接数据库 1.导入JDBC包: 添加impo ...

  5. 20155320 2016-2017-2《Java程序设计》第九周学习总结

    20155320 2016-2017-2<Java程序设计>第九周学习总结 教材学习内容总结 第十六章 JDBC简介 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 ...

  6. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  7. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  8. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  9. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  10. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

随机推荐

  1. Salesforce和SAP Netweaver里数据库表的元数据设计

    从Salesforce官网可以了解到Salesforce的force.com平台里数据库表的设计:https://developer.salesforce.com/page/Multi_Tenant_ ...

  2. 【[国家集训队] Crash 的文明世界】

    先写一个五十分的思路吧 首先这道题有一个弱化版 [POI2008]STA-Station 相当于\(k=1\),于是就是一个非常简单的树形\(dp\)的\(up\ \ and\ \ down\)思想 ...

  3. Loj_6282. 数列分块入门 6

    Loj_6282 这个题目涉及到了块的重构,这里使用了\(\sqrt{n}\)次插入便重构的方法 讲重复的操作提出来做了函数 #include <iostream> #include &l ...

  4. POJ 2299 Ultra-QuickSort 求逆序数 (归并或者数状数组)此题为树状数组入门题!!!

    Ultra-QuickSort Time Limit: 7000MS   Memory Limit: 65536K Total Submissions: 70674   Accepted: 26538 ...

  5. JUnit提供测试框架的优势(JUnit Provides Advantages as a Test Framework)

    测试Java类的内部功能就是刚才你做的那些工作了.真正的测试和刚才的简单例子的主要区别是代码库的大小和复杂度.在处理一大堆代码时,你会需要收集情况报告.但上面的例子遇到第一个错误就停止了,它没有收集尽 ...

  6. 大话Linux内核中锁机制之内存屏障、读写自旋锁及顺序锁

    大话Linux内核中锁机制之内存屏障.读写自旋锁及顺序锁 在上一篇博文中笔者讨论了关于原子操作和自旋锁的相关内容,本篇博文将继续锁机制的讨论,包括内存屏障.读写自旋锁以及顺序锁的相关内容.下面首先讨论 ...

  7. thinkpad T61 Fn功能键的完整说明及有关问题解决

    FN键的作用Fn 键是一个组合键,它自己本身没有用,需要和其他功能键组合起来以迅速改变操作特征,它可以组合的键在键盘上都用蓝色标注,具体作用为: Fn+F2:锁定计算机显示器.要再次打开计算机显示器, ...

  8. 【css】table标签内的td、th如何设置固定宽度,而不是自适应?

    table{ min-width: %; } td{ min-width: 100px; } .table-container{ overflow:auto; display: block; } &l ...

  9. Docker 学习记录(基础命令)

    1. 获取镜像 docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]  ===>   docker pull ubuntu:16:04 2.运 ...

  10. Windows Redis 取消保护模式C#进行访问

    运行redis服务程序和客户端程序设置即可. config set protected-mode “no”