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

本周学习心得:

本周的学习相对来说比较轻松,因为本周的内容比较简单,接口和上周的一些内容也比较相似,而且本周也吸取了上周的经验,提前进行学习,完成的也比较早,所以感觉本周的学习效率还是很高的。也很高兴在学习过程中,问题越来越少,有的时候甚至还可以帮助别人解决一些问题,很高兴。本周还有一个四则运算的任务,希望也可以顺利完成!!!
原文地址:https://www.cnblogs.com/wjs123456/p/10618190.html