zoukankan      html  css  js  c++  java
  • 第四周学习总结

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

    教材学习内容总结

    第六章 继承与多态

    面向对象中,子类继承父类,避免重复的行为定义,不过并非为了避免重复定义行为就使用继承。
    程序代码重复在程序设计上就是不好的信号,多个类间出现重复的程序代码时,设计上可考虑的改进方法就是把相同的程序代码提升为父类。
    在java中,继承时使用extends关键字,private成员也会被继承,子类必须通过父类提供的方法来存取。
    java中,子类只能继承一个父亲,继承有个重要的关系,子类与父类间会有is-a的关系。
    检查多态语法逻辑是否正确,方法是从=右边往左读:右边类型是不是左边类型的子类?如果不是就编译失败。
    UML
    多态 •继承可以复用代码,更大的用处是实现「多态」
    封装是继承的基础,继承是多态的基础
    「用父类声明对象引用,用子类生成对象」就有了多态
    如果某方法块中没有任何程序代码操作,可以使用abstract标示该方法为抽象方法,这个方法不用撰写{}区块,直接“;”结束就好。
    java中规定内含抽象方法的类,一定要在class前标示abstract,表示这是一个定义不完整的抽象类。
    继承也符合DRY(Don't Repeat Yourself)原则
    ISA与OCP原则,LSP原则
    赋值: 「=」 右边 ISA 左边,否则要强制类型转换 •Role role1 = new SwordsMan()
    SwordsMan swordsman = role1; //x
    SwordsMan swordsman = (SwordsMan)role1; //ok

    注意ISA是指功能上的

    extends •Java中只有单一继承,也就是只能有一个父类

    抽象方法、抽象类 •abstract
    Java中有抽象方法的类一定是抽象类,但抽象类中的方法不一定都是抽象方法
    抽象类不能使用new生成对象

    继承语法细节
    •public/package/protected/private
    ppp
    •super与this
    •java.lang.Object •toString
    •equals
    •hashCode
    •instanceof

    Java中有public、protected与private三个权限关键字,但实际上有四个权限范围。
    想取得父类中的方法定义,可以在调用方法前,加上super关键字。
    如果想执行父类中某构造函数,可以使用super()指定。this()与super()只能选择一调用,而且一定要在构造函数第一执行。
    如果class前使用了final关键字定义,那么表示这个类是最后一个了。
    如果定义类时没有使用extends关键字指定继承任何类,那一定是继承java.lang.Object。在java中,任何类追溯至最上层父类,一定就是java.lang.Object.

    第七章 接口与多态

    何谓接口
    •接口(interface)定义行为
    •implements
    对于“定义行为”,可以使用interface关键字定义,接口中的方法不能操作,直接标示为abstract,而且一定是public。类要操作接口,必须使用implements关键字。

    接口语法细节
    •接口中的public abstract可以省略
    •接中可以使用extends继承接口,并且可以继承多个接口
    •匿名内部Lambda •JDK8 前在匿名内部类中访问局部变量,则该局部变量必须为final

    使用interface来定义抽象的行为外观,方法要声明为public.abstract,无须切不能有操作。为了方便,也可以省略public sbstract,编译程序会协助补齐。

    •emum
    emue定义了特殊的类,继承自java.lang.Enum。
    enum中列举的常数,实际上是public static final,且为枚举类型实例。

    教材学习的问题与解决

    照着书上的代码抄 有很多内容还不是很懂。

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

    越往后学习就会越吃力,特别是一周搞懂两章的内容会比较困难 要努力搞懂。还是要多敲代码。

    学习进度条

    目标 5000行 30篇 400小时
    第四周350 /350 4/4 30/30

  • 相关阅读:
    linux启动流程
    监控命令
    ansible组
    公钥和秘钥
    SSH协议介绍
    Java并发编程笔记之ThreadLocal内存泄漏探究
    【死磕 Java 集合】— ConcurrentSkipListMap源码分析
    GraphX介绍
    Storm内部的消息传递机制
    JanusGraph Server配置
  • 原文地址:https://www.cnblogs.com/SUONAM1114----/p/5326709.html
Copyright © 2011-2022 走看看