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

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

教材学习内容总结

  • 接口:使用关键字interface定义接口
    • 接口声明:interface 接口名
    • 接口体:接口体中均是抽象方法(可省略public final static abstract)
  • 实现接口
    • 类实现接口:用关键字implements声明该类实现一个或多个接口
    • 重写接口中的方法
      • 若非抽象类实现该接口,则必须重写所有方法,并且加public(给出具体行为)
      • 若抽象类实现该接口,可直接拥有其方法
    • 接口中的细节说明
      • 若父类实现某个接口,则子类自然实现该接口
  • 接口的UML图:虚线,起始端是类,终止端是接口
    • 名字层:名字是斜体,用<>修饰
    • 常量层:常量名字:类型
    • 方法层:方法名字(参数列表):类型
  • 接口回调
    • 接口也是一种数据类型,生命的变量称为接口变量
    • 将实现该接口的类的对象的引用赋给该接口声明的接口变量,则接口变量就可以调用被类实现的接口方法
  • 理解接口
    • 抽象出重要的行为标准(和抽象方法相同)
    • 可以把实现该接口的类的对象的引用赋给该接口声明的接口变量,则接口变量就可以调用被类实现的接口方法
  • 接口与多态
    • 接口变量在回调发方法时可能可能具有多种形态
  • 接口参数:将实现该接口的类的对象的引用传给该接口参数
  • abstract类与接口的比较
    • 均可以有abstract方法
    • 接口中只能有常量,不能有变量
    • abstract类中可以有非abstract方法,接口不可以
    • 若果某个问题需要继承解决,不仅需要重写父类的abstract方法,还需要继承一些变量等,则考虑abstract类

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

  • 问题1:书后习题B选项'abstract'和'static'为什么不能写在一起
    下列接口中标注的(A,B,C,D)中,哪两个是错误的?
    interface Takecare{
        protected void speakHello();
        public abstract static void cry();
        int f();
        abstract float g();
    }
  • 问题1解决方案:static 是可以在没有实例的情况下调用,但标记为 abstract 后就没有实现没有实例调用。对于 Java,一个人不会凭空想出来 abstract 和 static 同时修饰的方法,因为一个 static 方法必须通过类名调用。而如果像我上面说的那样,规定一个类的子类必须有某种 static 方法,那么那个方法也必须至少一次通过子类的类名调用(可以只通过实例调用但是就没有必要声明为 static 了),这样调用时编译器就可以发现该方法不存在,就不需要父类写个 abstract 方法规定子类必须有该方法来预防错误了。

Markdown基本语法配合基本使用

之前写博客的时候都是在码云中完成,一键复制到博客里,这次学了MarkDown的基本用法,也可以直接在博客里写出格式正确的内容。

- 标题:通过#号的个数来分辨标题的类型。

- 文本强调:两个**代表加粗,一个*代表斜体,~~代表删除。

- 图片和链接:区别在一个 ! 号

- 代码

-行内代码使用两个`包住即可标识,可嵌入文字中
-代码块使用4个空格或```标识

- 引用:引用以>来表示

代码托管


感想

这周的学习任务相对来说较少,而且比较好理解,看到老师发了结对项目,所以及时利用课余时间就已经自学完成,及时巩固复习,留出部分时间充分准备项目内容,

参考资料

原文地址:https://www.cnblogs.com/orii/p/10609584.html