• 20145202马超 2016-2017-2 《Java程序设计》第四周学习总结


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

    教材学习内容总结

    继承:打破了封装性 extends
    1.提高了代码的复用性。
    2.让类与类之间产生了关系,有了这个关系,才有了多态的特性。
    3.必须是类与类之间有所属类关系才可以继承。
    4.java只支持单继承不支持多继承。多继承有可能带来安全隐患。java支持多层继承。

    final:
    1.final可以作为一个修饰符,可以修饰类,变量,函数。
    2.被final修饰的类不能够被继承为了避免被继承,被子类复写功能。
    3.被final修饰的方法不可以被复写。
    4.被final修饰的变量是一个常量且只能被赋值一次而且能修饰成员变量也能修饰局部变量。

    抽象:abstract
    1.抽象方法必须存在于抽象类之中。抽象类不能创建对象(new)因为调用抽象方法没有意义。
    2.抽象方法和抽象类都必须被abstract关键字修饰
    3.抽象类中的方法要想被使用必须由子类复写起所有的抽象方法后,建立子类对象的调用。

    接口:interface implements

    interface出来的类再被别的使用的话并不完全相当于继承但是Test会先执行Inter再执行自己的步骤。

    1.接口里面的成员全部都是抽象的,接口中的成员都是piblic的。
    2.接口可以被类多次实现。也是对多继承不支持的转换形式。一个类在继承一个类的同时还能有很多的接口。
    3.需要被子类实现,子类对接口中的抽象方法全部覆盖后,子类才可以实例化,
    4.接口也可以继承接口。且能多继承。

    多态:
    1.多态的出现应该是可以提高程序的扩展性。
    2.必须是类与类之间有关系,继承或者实现。存在覆盖。
    3.只能使用父亲类的引用访问父亲类中的成员。

    Object:是所有对象的直接后者间接母亲。
    1.该类中定义的肯定是所有对象都具备的功能。
    2.Object类中已经提供了对对象时候相同的比较方法,如果自定义类中有比较相同的功能,那就没有必要重新定义。只要沿袭父亲类中的功能,建立自己持有比较内容即可,这就是覆盖。

    内部类的访问规则:
    1.内部类可以直接访问外部类中的成员,包括私有的。之所以可以直接访问外部类中的成员是因为内部类中有了一个外部类的应用,格式:外部类名.this
    2.外部类想要访问内部类的话,必须建立内部类对象。
    访问格式:
    1.档内部类定义在外部类的乘员位置上,而且非私有,可以再外部其他类中。可以直接建立内部类对象。
    外部类名.内部类名 变量名 = 外部类对象.内部类对象。
    2.档内部类在成员位置上,就可以成员修饰符所修饰。
    内部类定了了静态成员的话该内部类必须是ststic的,当外部类中的静态方法访问内部类时,内部类也必须是ststic的。

    @Override
    1.简单理解就是这个句话下边的方法是继承父类的方法,对其覆盖
    2.个人认为不写也可以,写上去的话可以检验是否正确覆盖。

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

    课后题的一个问题,还不知道如何更改才能把它改对
    interface Some710{
    void doSome710();
    void doService710(){
    System.out.println("做一些服务");
    }
    }
    class SomeImpl710 implement Some710{
    public void doSome710(){
    System.out.println("做一些事");
    }
    }
    public class txt10
    {
    public static void main(String[] arges)
    {
    Some710 s = new SomeImpl710();
    s.doSome710();
    s.doService();
    }
    }

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

    • xx1问题
      这个问题的遇到真的是让我没有预料到,为什么会出现这个结果呢。

    这个打印出来的到底是什么呢

    • xx1解决方案
      可以看出来是16进制的数字,week4就是所在的pack,那么是不是打印出来他所在的路径呢,或者是进程的名字?

    代码托管

    上周考试错题总结

    • 填空:Linux Bash中,(grep )命令可以进行全文搜索。

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

    JAVA语言比c语言灵活的很多,正确覆盖方法这个是第一次见到,感觉能覆盖再和封装和集成组合起来的话会很好用。

    学习进度条

    参考:软件工程软件的估计为什么这么难软件工程 估计方法

    • 计划学习时间:20小时

    • 实际学习时间:16小时

    • 改进情况:感觉状态越来越好,其实用书本上的知识解决实际问题的时候才能做到真正运用知识,只抄书把代码量扩充上去肯定是不行的。

    • 有空多看看现代软件工程 课件 软件工程师能力自我评价表

    参考资料

  • 相关阅读:
    Angular项目在npm install之后用ng serve启动发生错误
    (TODO)Angular的通道
    使用React+redux+Node.js+MongoDB开发(二)--使用redux
    Angular中使用DomSanitizer防范跨站脚本攻击类(XSS)的安全问题
    使用React+redux+Node.js+MongoDB开发(一)
    数组的数字和非数字下标的区别
    echarts绘制饼图时的一点特殊设置
    Angular项目中迭代生成的树,激活选中的节点,并将节点数据发送到父节点
    Ubuntu 设定壁纸自动切换的shell脚本
    Navicat for mysql linux 破解方法
  • 原文地址:https://www.cnblogs.com/tuolemi/p/6573261.html
Copyright © 2020-2023  润新知