zoukankan      html  css  js  c++  java
  • 20145316许心远《Java程序设计》第4周学习总结

    20145316许心远《Java程序设计》第4周学习总结

    教材学习内容总结

    6.继承与多态

    1.继承共同行为  

    * 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承单独的那个类即可。  

    * 多个类可以称为子类,单独这个类称为父类或者超类。  

    * 子类可以直接访问父类中的非私有的属性和行为。  

    * 通过extends 关键字让类与类之间产生继承关系。  
      
    2.多态与is-a  

    • 子类只能继承一个父类,并且子类与父类之间有一种is-a的关系,让不是一种的类扮演另一种类需要加上类似于 强制类型转换的语法。
    • 使用单一接口操作多种类型的对象就是多态,个人的理解就是用一种父类来控制许多的子类。

    3.重新定义行为
    在继承父类之后,定义与父类中相同的方法部署,但执行内容不同,这称为重新定义(Override)。在重新定义父类中某个方法的时候,子类必须撰写与父类方法中相同的签署,加上 @Override可用来检查该方法是否真的重新定义了父类中的某个方法,防止打错字,否则就会发生错误。

    4.抽象方法、抽象类

    * 抽象类:Java中可以定义没有方法体的方法,该方法的具体实现由子类完成,该方法称为抽象方法,包含抽象方法的类就是抽象类

    * 抽象方法的由来:多个对象都具备相同的功能,但是功能具体内容有所不同,那么在抽取过程中,只抽取了功能定义,并未抽取功能主体,那么只有功能声明,没有功能主体的方法称为抽象方法。

    * 抽象类和抽象方法必须用abstract关键字来修饰。

    7.接口与多态

    1.接口:
    可以理解为一种特殊的类,里面全部是由全局常量(static final)和公共的抽象方法所组成

    2.接口的定义格式:

    接口的数据成员,只允许被public, static, final修饰。
    接口的方法成员,只允许被public, abstract修饰。
    '''Interface 接口名称{
    }'''
    接口中的数据成员都为static final类型,必须进行初始化,且接口的数据成员的值不能被修改,允许省略static, final关键字。
    接口中的方法必须是“抽象方法”,不能有方法体,允许省略public及abstract关键字

    3.接口的实现
    接口不能用new运算符直接产生对象,必须利用其特性设计新的类,再用新类来创建对象
    与抽象类一样,接口要使用也必须通过子类,子类通过implements关键字实现接口。
    实现格式:
    class 子类名称 implements 接口A, 接口B,….{
    //子类成员声明
    }
    接口的使用必须通过子类,子类必须覆写全部抽象方法。一个子类虽然只能继承于一个父类,但可以同时实现多个接口。

    4.接口的继承

    接口不能继承一个抽象类,却可以通过extends同时继承于多个接口。

    public abstract class base {……}

    interface B {……}

    interface C{……}

    interface A extends base{……} //错误

    interface A extends B, C{ ……} //正确

    5.接口与继承的区别:  

    • (1)定义:  

    以abstract声明,抽象方法可有可无。  

    以interface声明,由静态常量和抽象方法组成。  

    • (2)组成: 

    构造方法、抽象方法、普通方法、常量、变量  

    静态常量、抽象方法

    • (3)使用:  

    子类继承抽象类(extends)  

    子类实现接口(implements)  

    • (4)关系  

    抽象类可以实现多个接口  

    接口不能继承抽象类,但允许继承多个接口  

    • (5)对象  

    都通过对象的多态性产生实例化对象  

    • (6)局限  

    抽象类有单继承的局限  

    接口可以实现多重继承  

    • (7)选择  

    如果抽象类和接口都可以使用的话,优先使用接口,可以避免单继承的局限

    6.多态

    是指不同类型的对象可以响应相同的消息,从相同的基类派生出来的多个类型可被当作同一种类型对待,可对这些不同的类型进行同样的处理,由于多态性,这些不同派生类对象响应同一方法时的行为是有所差别的
    例如:所有的Object类的对象都响应toString()方法。

    7.多态性在java中主要有以下两种体现:

    • 方法的重载与覆写
    • 对象的多态性

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

    课后练习题解答:
    第六单元:A D D AC DC C B A D
    第七单元:A B A B B A D A A A

    本周代码托管截图

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

    本周学习内容较为抽象,单纯理解课本稍有困难,所以我看了老师分享的毕向东老师的视频,并进入CSDN等论坛看专业人士的学习心得和经验分享,感觉自己收获了很多东西。java是一门实战类学科,仅仅理解课本理论知识是不够的,还需要多问多想多敲,这个过程需要付出大量的时间和精力,但我会努力的_

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 200/200 2/2 20/20
    第二周 300/500 2/3 18/38
    第三周 500/1000 3/5 22/60
    第四周 300/1300 2/6 20/80

    参考资料

  • 相关阅读:
    Java 多线程之CyclicBarrier
    数据库事务隔离级别
    Java SE之Map接口
    (二)Shiro之一些重要的组件和工具类
    (一)Shiro之简介
    Datatables后端分页
    Spring之BeanFactory中Bean的生命周期
    Servlet之生命周期
    设计模式之单例设计模式
    day041 前端HTML CSS基本选择器(未整理完毕)
  • 原文地址:https://www.cnblogs.com/xxy745214935/p/5324693.html
Copyright © 2011-2022 走看看