zoukankan      html  css  js  c++  java
  • 20155236 2016-2017-2 《Java程序设计》第四周学习总结

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

    教材学习内容总结

    1.继承基本上就是避免多个类间重复定义共同行为。
    继承的三个好处:减少代码冗余;维护变得简单;扩展变得容易。
    构造方法不能被继承。
    2.s-a指的是类的父子继承关系,中文称为“是一种”关系。
    多态:用抽象讲法解释,就是使用单一接口操作多种类型的对象。
    3.被声明为protected的成员,相同包中的类可以直接存取,不同包中的类可以在继承后的子类直接存取。与我们熟知的关键字public之间来说,它的权限较小。
    4.如果类有继承关系,在创建子类实例后,会先进行父类定义的初始流程,再进行子类中的初始流程,也就是创建子类实例后,会先执行父类构造函数定义的流程,再执行子类构造函数定义的流程。
    5.Java中所有对象一定是一种Object.在Java中,自来只能继承一个父类,如果在定义类的时候没有指定要继承哪一类,那么这个类就一定是继承。
    6.类要操作接口,必须使用implements关键字。操作某接口时,对接口中定义的方法有两种处理方式,一是操作接口中定义的方法,二是再度将该方法标示为abstract。
    7.临时继承某个类或操作某个接口并建立实例,可使用匿名内部类:new 父类()|接口(){// 类本体操作 };。

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

    • 在编译第二个程序时,因为类的关系导致无法编译,于是下载了idea,这上面很方便,把每个代码放入同一project里问题就可以解决。

    • 检查多态语法逻辑是否正确,方式是从右向左读,即右边类型是不是左边类型的子类?不是的话会编译失败,如果加扮演cast语法,虽然可以通过编译,但是执行时是扮演失败,会抛出classCastException.

    • 在drawfight()方法中声明的role类型的参数,方法中调用的,到底是Role中定义的fight()还是个别子类中定义的fight()?
      Swordsman上挂有Role的牌子,我们只是要求有Role牌子的对象攻击,那么发动攻击的对象就是Swordsman实例。我们所写的drawfight(Swordsman)意味着,我们此次操作的是挂有role牌子的Swordsman实例。

    • 想问一下老师,什么叫做操作抽象方法?

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

    • 在“重新定义行为”这一节中,我们应先将role类中添加fight()方法,再给Swordsman与Magician两个子类中加入对于fight的描述。因为有了idea,所以我们可以统一修改role。

    • 想问一下老师,这个程序我按照书上的打下来后,并不能停止访客名称的录入,无法输出访客名单= =不知道为什么。

    代码托管

    • 代码提交过程截图:

    • 代码量截图:

    上周考试错题总结

    • 填空:Linux Bash中,(grep)命令可以进行全文搜索。
      grep命令能使用正则表达式搜索文本,并把匹配的行打印出来。
    • 判断:Java中类总会有默认构造方法。(X)
      对于java而言,如果每个类中,你不先写构造方法,它都默认存在一个无参的构造方法。故本题错。

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

    子类和父类中定义某个方法时,必须保持一致,不然就会出现行为丢失。但我们现在可以在定义方法前加上@Override去要求编译程序检查。感觉这周的内容,自学的话并不能很懂。。。老师能不能在课堂上讲一下重点,我有点懵逼了。。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 20/20 1/1 10/10
    第二周 58/78 1/2 6/16
    第三周 200/278 1/3 10/26
    第四周 660/938 1/4 10/36
  • 相关阅读:
    蓝桥杯--算法训练 未名湖边的烦恼 (递归)
    hdoj--5606--tree(并查集)
    山东理工oj--1912--IP地址(水题)
    zzulioj--1634--Happy Thanksgiving Day
    45.java异常处理之抛出异常处理
    43.Java异常概要
    42.Java内部类
    41.Java特征之一多态
    40.Java接口
    39.Java值交换
  • 原文地址:https://www.cnblogs.com/fcgfcgfcg/p/6580710.html
Copyright © 2011-2022 走看看