zoukankan      html  css  js  c++  java
  • 20155310 2016-2017-2 《Java程序设计》第四周学习总结

    20155310 2016-2017-2 《Java程序设计》第四周学习总结

    一周两章新知识的自学与理解真的是很考验和锻炼我们,也对前面几章我们的学习进行了检测,遇到忘记和不懂的知识就再复习前面的,如此巩固也让我对之前的知识更深刻的理解了。

    教材学习内容总结

    继承与多态

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

    •虽然SwordsMan与Magician并没有定义getName()、getLevel()、getBlood()等方法,但从Role中继承了这些方法,所以就可以直接使用。

    •在java中,子类只能继承一个父类
    •子类与父类间会有ISA关系

    •多态以抽象方式解释,就是使用单一接口操作多种类型对象。若用范例解释:在showblood方法中,既可以通过role类型操作swordsman,也可以通过role类型操作magician对象
    •继承可以复用代码,更大的用处是实现「多态」
    •封装是继承的基础,继承是多态的基础

    •在继承父类后,定义与父类中相同的方法部署,但执行内容不同,这称为重新定义

    •继承语法细节 public/package/protected/private
    被声明为protected的成员,相同包中的类可以直接存取,不同包中的类可以在继承后的子类里直接存取。

    •垃圾收集 :无法通过变量引用的对象就是GC认定的垃圾对象

    •垃圾回收前会调用finalize()方法,但由于调用时机无法确定,建议不要使用finalize()方法

    •重新定义方法要注意,对于父类中的方法权限,只能扩大不能缩小,若原来成员public,子类中重新定义时不可为private或protected

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

    •如果指定变量值之后,就不想再改变变量值,可以在声明变量时加上final限定,如果后续写程序时,想修改final变量,就会出现编译错误。class前也可以加上final关键字,如果class前使用了final关键字定义,那么表示这个类是最后一个了,不会再有子类,也就是不能被继承。

    接口与多态

    •对于定义行为,可以使用interface关键字定义,接口中的方法不能操作,直接标示为abstract,而且一定是public。

    •类要操作接口,必须使用implements关键字

    •类可以操作两个以上的类,也就是拥有两种以上的行为。

    •使用interface来定义抽象的行为外观,方法声明为public abstract,无需且不能有操作

    •接口也以继承别的接口,也可以继承两个以上的接口,同样也使用extends关键字,这代表了继承父接口的行为

    •类要操作接口,必须使用implements关键字

    •多态语法的判断:判断“右边是不是拥有左边的行为”或者“右边对象是不是操作了左边接口”

    •只要操作接口对象一直,都可以使用doSwim的方法,提高了系统的可维护性。

    •在枚举常数时要使用“=”指定值,否则会编译出错。

    •Some与Other定义的execute()
    •表示不同行为,Service有两个不同的操作方法,Some与Other在名称上有所不同。

    •表示相同行为,可以定义一个父接口,当定义execute()方法,而some与other继承该接口,各自定义自己的doSome()与doOther()方法。

    教材中遇到的问题和解决过程

    整个的学习过程都是抽象的过程,很多概念和注意事项读过好几遍但如果没有完全理解的话,就会十分陌生,后面也看不明白,所以一定要弄清楚每一个细节和知识点。比如这次很多程序都是有子类父类的,如果没有理解知识,就不明白为什么运行不出来或者出错,通过多次反复学习,终于有了一些理解,可能还需要日积月累的联系。

    代码托管

    学习进度条

    ~ 代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时 ~
    第一周 4/200 1/2 10/202 ~
    第二周 20/500 2/4 20/38 ~
    第三周 40/1000 3/7 30/60 ~
    第四周 60/1300 4/9 40/90 ~
  • 相关阅读:
    初识算法和数据结构
    cookies、sessionStorage和localStorage解释及区别
    常用元素操作api之select下拉列表操作(八)
    常用元素操作api之定位常见alert框操作(七)
    常用元素操作api之定位元素操作iframe(六)
    常用元素操作api之select下拉列表层级定位操作(五)
    常用元素操作api之定位一组元素操作(四)
    常用元素操作api之等待时间标操作(三)
    Java实现获取命令行中获取指定数据
    Java格式化字符串Format
  • 原文地址:https://www.cnblogs.com/m20155310/p/6583087.html
Copyright © 2011-2022 走看看