• 20155333 2016-2017-2 《Java程序设计》第4周学习总结


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

    教材学习内容总结

    1. 继承基本上就是避免多个类间重复定义的共同行为,在Java中,子类只能继承一个父类。
    2. private成员会被继承,只不过子类无法直接存取,必须通过父类提供的方法来存取(如果父类愿意提供访问方法的话)。
    3. 使用是一种(is-a)原则,就可以判断何时编译成功,何时编译失败,以及将扮演(Cast)看作叫编译程序住嘴语法,并留意参考的对象实际类型,就可以判断何时编译成功,何时会抛出ClassCastException。
    4. 在重新定义父类中某个方法时,子类必须撰写与父类方法中相同的签署。
    5. 如果在子类中某个方法前标注@Override,表示要求编译程序检查,该方法不是真的重新定义了父类中某个方法,如果不是的话,就会引发编译错误。
    6. 如果某方法区块中真的没有任何程序代码操作,可以使用abstract标示该方法为抽象方法,该方法不用撰写{}区块,直接“;”结束即可。
    7. 子类如果继承抽象类,对于抽象方法有两种做法,一种做法是继续标志该方法为abstract(该子类因此也是个抽象类,必须在class前标示abstract);另一种做法就是操作抽象方法。
    8. 被声明为protected的成员,相同包中的类可以直接存取,不同包中的类可以在继承后的子类直接存取。
    9. 在Java中,如果想取得父类中的方法定义,可以在调用方法前,加上super关键字。可以使用super关键字调用的父类方法,不能定义为private(因为这就限定只能在类内使用)。
    10. Java中有三个权限关键字,public、protected和private,有四个权限范围,依权限大小来区分,就是private、无关键字、protected与public。
    11. 重新定义方法要注意,对于父类中的方法权限,只能扩大但不能缩小。
    12. 如果没有重新定义equals(),使用equals()方法时,作用等同于==,所以要比较实际相等性,必须自行重新定义。
    13. 如果class前使用了final关键字定义,那么表示这个类是最后一个了,不会再有子类,也就是不能被继承。
    14. 对于“定义行为”,在Java中可以使用interface关键字定义。
    15. 类要操作接口,必须使用implements关键字。操作某接口时,对接口中定义的方法有两种处理方式,一是操作接口中定义的方法,二是再度将该方标识为abstract。
    16. 在JAva中,类可以操作两个以上的类,也就是拥有两种以上的行为。类可以同时继承某个类,并操作某些接口。
    17. 接口可以继承别的接口,也可以同时继承两个以上的接口,同样也使用extends关键字,这代表了继承父接口的行为。

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

    问题1. 依据什么来决定使用那个权限?

    解决:设计时使用哪个权限,是依经验或团队讨论而定,如果一开始不知道使用哪个权限,就先使用private,以后视需要再放开权限(如何放开权限?)。

    问题2. 两个接口都有定义的方法是否表示不同的行为?

    解决:我百度了一下,但还是不太懂。

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

    问题1. 课本179页的Guest不能显示访客名单

    未解决!

    代码托管

    • 代码提交过程及代码量截图:

    在使用IDEA的Git Repository push时出现提示:
    push to orijin/master was rejected

    通过百度和不断尝试成功解决了问题。

    Intellij IDEA实用技巧

    上周考试错题总结

    1. Linux Bash中,(grep )命令可以进行全文搜索。
    2. ~0b1010的十进制值是(-11)
    3. double d = 0.1 + 0.1 + 0.1, System.out.println(i);的结果是0.3. (X)
    4. System.out.println(“”+52+25);的结果是(5225)
    5. System.out.println(52+25+””);的结果是(77)
    6. p86 Guess.java中guess的值无法输入12。(X)
    7. Java中,=与==并没有在基本类型和类类型的不同。(OK)
    8. 两个Integer对象比较大小,可以使用(comareTo())方法
    9. 可以使用java.util.Arrays的(fill())方法把数组初始化成相同的值。
    10. Java中的多维数组都是由(一维数组组成)。
    11. “30”转化为byte类型的30的语句是(Byte.parseByte(“30”);)。
    12. Java中类总会有默认构造方法。(X)
    13. Java中成员方法中引用成员变量,要使用(this)关键字。

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

    xxx
    xxx

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 12/12 1/4 20/20
    第二周 64/76 1/5 22/42
    第三周 560/636 1/6 22/64
    第四周 532/1168 1/7 20/84

    尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
    耗时估计的公式
    :Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

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

    参考资料

  • 相关阅读:
    i.MX6UL: i.MX 6UltraLite处理器
    温控产品解决方案
    原子层沉积(ALD)和化学气相沉积(CVD)微电子制造铜金属化的研究进展
    camera数字降噪(DNR)
    光刻机技术领地
    晶圆代工解决方案
    Camera噪声问题
    camera中LENS和SENSOR的CRA是如何搭配的?
    Camera Lens Coating
    (转)唐家三少--写书赚钱还是太少了
  • 原文地址:https://www.cnblogs.com/rh123456/p/6581687.html
Copyright © 2020-2023  润新知