• 20175306王佳烁第五周学习总结


    20175306 2018-2019-2 《Java程序设计》第5周学习总结

    教材学习内容总结

    第六章:接口与实现

    6.1接口:使用关键字interface定义接口
    · 接口声明:interface 接口名
    · 接口体:接口体中包含常量(没有变量)(可省略public final static)和抽象方法(访问权限一定是public)(可省略public abstract)
    6.2实现接口:
    ·类实现接口:用关键字implements声明该类实现一个或多个接口
    ·重写接口中的方法:若非抽象类实现该接口,则必须重写所有方法,并且加public(给出具体行为);若抽象类实现该接口,可直接拥有其方法
    ·注:若父类实现某个接口,则子类自然实现该接口
    6.3接口的UML图:注意用虚线,由类指向接口
    ·名字层:名字是斜体,用<>修饰,且该修饰和名字分列两行
    ·常量层:格式是“常量名字:类型”
    ·方法层:(操作层)格式是“方法名字(参数列表):类型”

    6.4接口回调:接口也是一种数据类型,声明的变量称为接口变量。将实现该接口的类的对象的引用赋给该接口声明的接口变量,则接口变量就可以调用被类实现的接口方法

    *6.5理解接口:理解的关键点是
    ·接口可以抽象出重要的行为标准,该行为标准用抽象方法来表示
    ·可以把实现该接口的类的对象的引用赋给该接口声明的接口变量,则接口变量就可以调用被类实现的接口方法
    *6.6接口与多态:接口变量在回调发方法时可能可能具有多种形态
    ·注:继承与多态是指父类有多个子类,而接口的多态是指有多个类
    6.7接口参数:将实现该接口的类的对象的引用传给该接口参数
    6.8abstract类与接口的比较:
    ·均可以有abstract方法
    ·接口中只能有常量,不能有变量
    ·abstract类中可以有非abstract方法,接口不可以
    ·如果某个问题需要继承解决,不仅需要重写父类的abstract方法,还需要继承一些变量等,则考虑abstract类
    6.9面向接口编程:利用接口也可以体现程序设计的“开-闭原则”,即对扩展开放,对修改关闭。

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

    问题一:
    

    解决过程: 若非抽象类实现该接口,则必须重写所有方法,并且加public(给出具体行为);若抽象类实现该接口,可直接拥有其方法
    

    Markdown的基本使用

     参考链接:>https://www.jianshu.com/p/191d1e21f7ed
    

    代码托管

    码云链接:
    

    https://gitee.com/wjs123456/wjs20175306.git

    本周代码详情:

    本周错题总结:

    1.下列关于实现接口的说法,正确的是(A B C)
       A.一个类需要在类声明中使用关键字implements声明该类实现一个或多个接口
       B.如果一个非抽象类实现了某个接口,那么这个类必须重写这个接口中的所有方法
       C.类重写接口方法时,方法的访问权限一定要明显地用public修饰
       D.子类既可以重写接口中的方法,也可以直接拥有接口中的方法
     2.将下列(A,B,C,D)哪个代码替换下列程序中的【代码】不会导致编译错误?
        interface Com {
           int M = 200;
           int f();
        }
        class ImpCom implements Com {
          【代码】
         }
        A.public int f(){return 100+M;}
        B.int f(){return 100;}
        C.public double f(){return 2.6;}
        D.public abstract int f();
        正确答案:B。但是个人感觉应该是A
    

    本周学习心得:

    本周的学习相对来说比较轻松,因为本周的内容比较简单,接口和上周的一些内容也比较相似,而且本周也吸取了上周的经验,提前进行学习,完成的也比较早,所以感觉本周的学习效率还是很高的。也很高兴在学习过程中,问题越来越少,有的时候甚至还可以帮助别人解决一些问题,很高兴。本周还有一个四则运算的任务,希望也可以顺利完成!!!
  • 相关阅读:
    MySQL中IS NULL、IS NOT NULL、!=不能用索引?胡扯!
    市值TOP10,人类进化及中美坐标
    倒序切片
    对list进行切片
    Python之定义可变参数
    Python之递归函数
    Python之“可变”的tuple
    Python之创建单元素tuple
    Python中Unicode字符串
    Pycharm配置autopep8让Python代码更符合pep8规范
  • 原文地址:https://www.cnblogs.com/wjs123456/p/10618190.html
Copyright © 2020-2023  润新知