• 20145229吴姗珊 《Java程序设计》第4周学习总结


    20145229吴姗珊 《Java程序设计》第4周学习总结

    教材学习内容总结

    第六章 继承与多态

    6.1继承共同行为

    1.继承基本上就是避免多个类间重复定义共同行为

    简单的类的定义

    使用swordsMan继承Role,其中,SwordsMan就是子类,Role就是父类

    类似的使用Magician继承Role类

    如何确定真的有继承

    继承的好处之一就是,就是若你要将name、level、blood改为其他名称,就只要修改Role.java就可以了

    2.子类只能继承一个父类,继承除可避免类间重复的行为定义外,还有子类和父类存在着is-a的关系
    3.编译程序就是语法检查器,要知道程序片段为何可以通过编译,为何却无法通过编译,就是将自己当作编译程序,检查语法的逻辑是否正确,方式是从=号右边往左读
    4.继承的好处之一就是若你要将name、level、blood改为其他名称,那就只要修改Role.java就可以了,只要是继承Role的子类都无需修改
    5.对drawFight()方法而言,只知道传进来的会是一种Role对象,所以编译程序也只能检查你调用的方法以及Role是不是有定义。

    6.子类如果继承抽象类,对于抽象方法有两种做法,一种做法是继续标志该方法为abstract,另一种做法是操作抽象方法

    6.2继承语法细节

    1.protected:被声明为protected的成员,相同包中的类可以直接存取,不同包中的类可以在继承后的子类直接存取
    2.有时候重新定义方法时,并非完全不满意父类中的方法,只是希望在执行父类中方法的前、后做点加工
    3.新定义方法要注意,对于父类中的方法权限,只能扩大不能缩小,若原成员为public,子类中重新定义时不可为private或protected
    4.构造函数可以重载,父类中可重载多个构造函数,如果子类构造函数中没有指定执行父类中哪个构造函数,默认会调用父类中无参数构造函数
    5.class前也可以加上final关键字,如果class前使用了final关键字定义,那么表示这个类是最后一个了,不会再有子类,也就是不能被继承
    6.撰写程序常常有些看似不合理但又非得完成的需求。有些不合理的需求,本身确实不合理,但有些看似不合理的需求,其实是可以通过设计来解决的

    第七章 接口与动态

    7.1接口定义行为

    1.对于“定义行为”,可以使用interface关键字定义
    2.接口的出现将“多继承”通过另一种形式体现出来,即 “多实现”
    3.类与接口之间是实现关系,而且类可以继承一个类的同时实现多个接口
    4.接口与接口之间可以有继承关系
    5.操作某接口时,对接口中定义的方法有两种处理方式,一是操作接口中定义的方法,二是再度将该方法标示为abstract。以java的语意来说,继承会有“是一种”的关系,操作接口则表示“拥有行为”

    7.2接口语法细节

    1.在java中,可使用interface来定义抽象的行为与外观,如接口中的方法可声明为public abstract
    2.使用interface来定义抽象的行为外观,方法要声明为public abstract,无须且不能有操作。为了方便,也可以省略public abstract,编译程序会协助补齐。可以使用接口枚举常数,只能定义为public static final。为了方便,也可以省略public static final
    3.匿名内部类:就是内部类的简化写法
    4.格式为:new 外部类名或者接口名(){覆盖类或者接口中的代码

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

    本来4,5章的内容就不是很懂,然后现在学6,7章,不懂的还是挺多的,那个继承每次敲书上的代码都会出现错误,说找不到那一类的符号。然后第七章感觉结合在一起的类容就更多了,对排除错误的能力还有欠缺,代码照着书上敲的,知识越来越深入了。

    代码调试中的问题和解决过程

    不知道照着书上敲的代码还会出现错误,显示找不到类所提示

    本周代码托管截图


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

    这周的学习中主要是自己敲代码,因为以前C语言学习对程序设计没什么兴趣,导致对java没什么兴趣然后也不想学,现在还是愿意认真的学习,让自己掌握多一点的知识,在计算代码行数中因为wc软件下载了解压不行,所以还是自己数的,等询问同学后将会使用软件重新修改。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 80/100 1/1 15/15
    第二周 100/100 1/1 17/17
    第三周 100/100 1/1 17/17
    2天知识总结 100/100 1/1 15/15
    第四周 430/100 1/1 14/14

    参考资料

  • 相关阅读:
    为什么lambda中用到的局部变量需要为final
    ubuntu安装idea之后字体不友好
    mysql存表情出错的解决方案(类似xF0x9Fx98x86xF0x9F)
    CentOS7.4 安装mysql
    mysql修改时区
    发个自己写的微信小游戏
    算法:IP分割问题(python实现)
    教你用Python抓取百度翻译
    教你用Python遍历指定目录下的所有文件以及文件的过滤
    教你用Python做个简单的加密程序(还基础什么呀,直接来练习吧,带源码)
  • 原文地址:https://www.cnblogs.com/20145229ss/p/5324084.html
Copyright © 2020-2023  润新知