学号 20175212 《Java程序设计》第4周学习总结

教材学习内容总结

一、 子类与父类

  1. 父类中的private和友好访问权限的成员变量不会被子类继承。子类只继承父类中的protected和public访问权限的成员变量和方法。

二、 成员变量的隐藏和方法重写

  1. 成员变量的隐藏

声明的成员变量的名字和从父类继承的相同时,子类会隐藏继承而来的成员变量。 且:子类对象仍然可以调用从父类继承的方法操作被子类隐藏的成员变量,也就是说子类继承的方法所操作的成员变量一定是被子类继承或隐藏的成员变量。

  1. 方法重写

重写方法既可以操作继承的成员变量、调用继承的方法,也可以操作子类新声明的成员变量、调用新定义的其他方法,但无法操作被子类隐藏的成员变量和方法。(除非使用super关键词)

另外的,子类中重写的方法与父类中继承的方法不是同一类型,且其他变量都不变的情况下,易出现编译错误,如:

class A {
float computer(float x, float y) {
return x+y;
}
}

重写时:

class B extend A {
double computer(float x, float y) {
return x*y;
}
}
 但是,子类中重写的方法可以是父类方法的子类型。

三、super关键词

Super用于访问和调用被子类隐藏的成员变量和方法。用法基本为super.x或super.play().

四、final关键词

  1. final类

形如final class A {} final类不能被继承,即不能有子类。

  1. final方法

在父类用final修饰的方法,不允许被子类重写。

  1. final变量

就是常量,不允许修改值。

五、对象的上传型对象

创建方式:

Animal a;
Tiger b = new Tiger();
a =b;

六、 **继承与多态(重点)

** 上传型对象在调用一个方法时可能具有多种形态,因为不同的子类在重写父类的方法时可能产生不同的行为。为以后复习方便,在此记录书上例题代码:

class  动物 {
void cry() {
}
}
class 狗 extends 动物 {
void cry() {
System.out.println("汪汪.....");
}
}
class 猫 extends 动物 {
void cry() {
System.out.println("喵喵.....");
}
}
public class Example5_11 {
public static void main(String args[]) {
动物 animal;
animal = new 狗();
animal.cry();
animal=new 猫();
animal.cry();
}
}

代码调试中的问题和解决过程

  • 问题1:编译类文件时始终提示找不到符号。

  • 问题1解决方案:经过尝试,直接编译运行主类文件,即可正常使用。

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

  • 问题1:

    教材P124 Example5¬_8.java中,父类class中为什么要定义两个构造方法;并且为什么子类UniversityStudent中调用重写后的Student构造方法时要用super关键字。

  • 问题1解决方案:经过询问同学并按照书中提示尝试后,发现由于子类不继承父类的构造方法,因此子类中的super是指调用父类其中一个构造方法,而不是调用被隐藏的。

代码托管

上周考试错题总结

结对及互评

点评模板:

  • 博客中值得学习的或问题:

    • 用了很多截图,使问题的呈现清楚明了
    • 教材学习内容总结较为具体便于复习时重温
    • markdown格式规范
  • 代码中值得学习的或问题:

  • 基于评分标准,我给本博客打分:13分。得分情况如下:

  1. 正确使用Markdown语法(加1分)
  2. 模板中的要素齐全(加1分)

    3.教材学习中的问题和解决过程, 一个问题加1分

    4.代码调试中的问题和解决过程, 两个问题加2分

    5.本周有效代码超过300分行的(加2分)
  • 周五前发博客的加1分

  • 排版精美的加一分

  • 感想,体会不假大空的加1分

  • 课后选择题有验证的加1分

  • 代码Commit Message规范的加1分

  • 点评认真,能指出博客和代码中的问题的加1分

  • 结对学习情况真实可信的加1分

  • 参考示例

点评过的同学博客和代码

  • 本周结对学习情况

    • 20175227

    • 结对学习内容

      • 实验一 Java开发环境的熟悉
      • 第五章代码运行调试
  • 上周博客互评情况(只要链接,具体点评放相应博客下)

    本周首次互评

其他(感悟、思考等,可选)

本章的学习使我更加直观透彻的理解了子类父类的关系以及各种编程方法与规则,也对面向对象中的继承与多态特点有了更深的了解。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 6/6 1/1 20/20
第二周 245/251 1/2 18/38
第三周 633/884 1/3 22/60
第四周 305/1189 1/4 30/90

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。

耗时估计的公式

:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

  • 计划学习时间:XX小时

  • 实际学习时间:XX小时

  • 改进情况:

(有空多看看现代软件工程 课件

软件工程师能力自我评价表
)

参考资料

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

  1. 学号 20175212 《Java程序设计》第九周学习总结

    学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...

  2. 学号20145303 《Java程序设计》第一周学习总结

    学号20145303 <Java程序设计>第一周学习总结 教材学习内容总结 *dos命令行: dir:列出当前目录下的文件及文件名 md:创建目录 rd:删除目录.为空时文件夹(文件夹为空 ...

  3. 学号20145322 《Java程序设计》第一周学习总结

    学号20145322 <Java程序设计>第一周学习总结 教材学习内容总结 Java诞生于Sun公司,于1998年12月4日发布J2SE,约以两年为一周期推出重大版本更新. 2010年Or ...

  4. 20175227张雪莹 2018-2019-2 《Java程序设计》第九周学习总结

    20175227张雪莹 2018-2019-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十一章 JDBC数据库操作 MySQL数据库管理系统 下载安装MySQL 若下载的是 ...

  5. 201521123061 《Java程序设计》第九周学习总结

    201521123061 <Java程序设计>第九周学习总结 1. 本周学习总结 2. 书面作业 本次PTA作业题集异常 1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1 ...

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

    201521123038 <Java程序设计> 第九周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 ...

  7. 201521123045 <java程序设计>第11周学习总结

    201521123045 <java程序设计>第11周学习总结 1. 本周学习总结 2. 书面作业 2. 书面作业 Q1.1.互斥访问与同步访问完成题集4-4(互斥访问)与4-5(同步访问 ...

  8. 20175313 张黎仙《Java程序设计》第九周学习总结

    目录 学号 20175313 <Java程序设计>第九周学习总结 一.教材学习内容总结 二.教材学习中的问题和解决过程 三.代码托管 四.心得体会 五.学习进度条 六.参考资料 学号 20 ...

  9. 2018-2019-3《Java程序设计》第二周学习总结

    学号20175329 2018-2019-3<Java程序设计>第二周学习总结 教材学习内容总结      第二三章与我们所学习的C语言有很多的相似点,在这里我想主要就以我所学习的效果来讨 ...

  10. # 20175329 2018-2019-2 《Java程序设计》 第二周学习总结

    学号 2018-2019-3<Java程序设计>第二周学习总结 教材学习内容总结      第二三章与我们所学习的C语言有很多的相似点,在这里我想主要就以我所学习的效果来讨论一下JAVA与 ...

随机推荐

  1. .NET 常用ORM之NHibernate

    NHibernate做.Net应该都不陌生,今天我们就算是温故下这个技术,概念性的东西就不说了,这次主要说本人在实际使用的遇到的问题,比较费解现在就当是记录下,避免以后再犯.本次主要使用的情况是1对N ...

  2. 码云和git

    第一步: 码云上注册: 第二部: 创建项目;根据需求,哒哒哒全部填完 第三部: 设置公钥(重点来了,头晕) 1. 打开git终端 git Bash 2.进入.ssh目录 输入命令 cd ~/.ssh ...

  3. java内存机制和GC垃圾回收机制

    Java 内存区域和GC机制 转载来源于:https://www.cnblogs.com/zhguang/p/3257367.html 感谢 目录 Java垃圾回收概况 Java内存区域 Java对象 ...

  4. 2、每日复习点--ConcurrentHashMap vs HashMap vs LinkedHashMap vs HashTable

    HashMap: 查询和插入速度极快,但是线程不安全,在多线程情况下在扩容的情况下可能会形成闭环链路,耗光cpu资源. LinkedHashMap: 基本和HashMap实现类似,多了一个链表来维护元 ...

  5. ThreadLocal的意义和实现

    可以想像,如果一个对象的可变的变量被多个线程访问时,必然是不安全的. 在单线程应用可能会维持一个全局的数据库连接,并在程序启动时初始化这个连接对象,从而避免在调用每个方法时都传递一个Connectio ...

  6. 工作中常用的 Linux 命令

    awk 示例: env变量值如下,需要获得pkg_url的链接值: {"name": "michael", "sex": "mal ...

  7. 【python 3】 函数 进阶

    函数进阶 1.函数命名空间和作用域 命名空间一共分为三种: 全局命名空间 局部命名空间 内置命名空间 *内置命名空间中存放了python解释器为我们提供的名字:input , print , str ...

  8. TP5创建动态数据表

    $sql = " CREATE TABLE IF NOT EXISTS `$table_name` (`id` int(11) unsigned NOT NULL AUTO_INCREMEN ...

  9. IDLE清屏扩展

    新建ClearWindows.py,复制以下代码: class ClearWindow: menudefs = [ ('options', [None, ('Clear Shell Window', ...

  10. hbuilder + 夜神模拟器

    1. 安装hbuilder.夜神模拟器 2. 将夜神模拟器设为手机版,启用急速模式 3. 打开夜神模拟器设置,进入关于手机,点击版本号启用开发者模式 4. 进入开发者模式设置,启用usb调试 5. h ...