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

    第四次学习总结

    1继承、多态与is-a
    •继承就是避免多个类间重复定义共同行为。

    可以把相同的成粗代码提升为父类。

    •java中子类只能继承一个父类,这种子类父类之间的关系就是is-a关系。

    2检查语法是否正确就可以使用is-a即“是一种”来判断,方式是从=右边往左读:判断右边是不是一种左边。例:Role role1=new SwordsMan();就是判断SwordsMan是不是一种Role?若是则语法正确,反之则编译失败。相关练习:链接1,链接2,链接3 ,运行结果如下

    重新定义行为以及抽象方法、抽象类

    3在继承父类之后,定义与父类中相同的方法部署,但执行内容不同,这称为重新定义。此处应该注意在重新定义父类中某个方法的时候,一定要注意子类与父类的签署必须相同。这个问题看似不起眼,但是在自己学习过程中就有发生,在下面的代码调试部分由作出详细的说明,因此为了防止打错字,可以在子类中某个方法前标注@Override,要求编译程序检查,是否真的重新定义了父类中的某个方法。

    4 在上面的学习中,Role2中的fight中没有任何程序操作,这时候可以使用adstract表示该方法为抽象方法,不用撰写{}区块,直接“;”结束即可。
    2.注意内含抽象方法的类,一定要在class前表示abstract。
    3.抽象类不能使用new生成对象。
    4.子类继承抽象类方法:1.继续标示该方法为abstract;2.操作抽象方法。
    继承语法细节

    protected成员以及重新定义的细节

    5 被声明为protected的成员,相同包中的类可以直接存取,不同包中的类可以在继承后的子类直接存取。进行练习,链接1,链接2,链接3,运行结果如下图

    6
    JAVA中private、无关键字、protected、public权限依次递增。

    •在JAVA中如果想取得父类的方法定义,可以在调用方法前,加上super关键字。

    二:
    构造函数
    1 父类中可以重载多个构造函数,如果子类构造函数中没有指定执行父类中哪个构造函数,默认会调用父类中无参数构造函数。

    2
    如果想执行父类中的某个构造函数,可以用super()来指定。

    3
    this()与super()只能选择一个调用,而且一定要在构造函数第一行执行。

    4
    Object上定义的方法,只要不被定义为final方法,都可以重新定义。
    垃圾收集

    三:
    总结

    虽然一直在看书视频,但在模拟机上遇到问题时,由于英语不好总是看不懂,代码出现错误的原因,虽然一直在问同学,问舍友但觉的这样的学习太慢了,效率非常低。

  • 相关阅读:
    Python学习-字符编码浅析
    python元组,集合类型,及字典补充
    python字符串,列表常用操作
    python流程控制
    Python之线程&进程
    yii框架的中的一些使用介绍
    《最牛B的Linux Shell命令》笔记
    CentOS6.8上安装epel
    mysql 5.7 Group Replication
    mysql5.7 参数记录 (持续更新)
  • 原文地址:https://www.cnblogs.com/qm20165239/p/8647502.html
Copyright © 2011-2022 走看看