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

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

教材学习内容总结

  • 面向对象有三大特性:封装、继承、多态
封装
  • 封装是指,一种将抽象性函式接口的实例细节部份包装、隐藏起来的方法。封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。要访问该类的代码和数据,必须通过严格的接口控制,通过该类提供的方法来实现对隐藏信息的操作和访问。
  • 访问修饰符可以用来修饰属性和方法的访问范围。
- 继承
  • 继承可以看成是类与类之间的衍生关系
  • 继承需要符合的关系是:is-a,父类更通用,子类更具体。
  • 意义:假使有两个类相似,那么它们会有许多重复的代码,导致后果就是代码量大且臃肿,后期的维护性不高。通过继承就可以解决这个问题,将两段代码中相同的部分提取出来组成一个父类,实现代码的复用。
  • final关键字可以修饰类、方法、属性和变量

final 修饰类,则该类不允许被继承,为最终类

final 修饰方法,则该方法不允许被覆盖(重写)

final 修饰属性:则该类的属性不会进行隐式的初始化(类的初始化属性必须有值)或在构造方法中赋值(但只能选其一)

final 修饰变量,则该变量的值只能赋一次值,即变为常量

super关键字在子类内部使用,代表父类对象。

访问父类的属性 super.属性名

访问父类的方法 super.bark()

子类构造方法需要调用父类的构造方法时,在子类的构造方法体里最前面的位置:super()

多态
  • 只通过父类就能够引用不同的子类,这就是多态,我们只有在运行的时候才会知道引用变量所指向的具体实例对象。
  • Java 实现多态有三个必要条件:继承、重写和向上转型(即父类引用指向子类对象)。
  • Java中多态的实现方式:继承父类进行方法重写,抽象类和抽象方法,接口实现。

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

  • for(String arg:args)什么意思?
  • 经过百度之后知道是:增强后的for循环(j2SE 5.0的新特性)
    主要作用简化了之前的for循环:
  • a+=c无法运行 a +=c等价a=a+c
  • %n 和 /n都是转行。
  • \n是回车符,只不过这个是转义字符,可以用于一切字符串;
    而%n是一种格式字符串,只能用到printf的参数里。

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

  • 编译java程序时出现需要为class,interface?
  • 1、检查关键字的大小写和拼写。比如public有没有写成Public,class有没有写成Class等。
    2、检查花括号有没有对称。

代码托管http://git.oschina.net/bestiisjava2017/hpl20155329-java-programmer/tree/master/src?dir=1&filepath=src&oid=3b7e71d0df91ef703806418355ffc6624dbfb12f&sha=7b6beec41463bb4a70bcdd3e427b893235da616e

  • 代码量截图:

上周考试错题总结

  • Linux Bash中,(grep )命令可以进行全文搜索。
  • :被声明为(static)的成员,不属于某个对象,而是属于类。
  • 调用p45 sum函数计算1+2+3+4+5的代码是(MathTool.sum(1,2,3,4,5))
  • p104 CopyArray.java 中修改int [] scores2 = Arrays.copyOf(scores1, scores1.length,使得输出的第二行只有前五个元素,修改后的代码为(int [] scores2 = Arrays.copyOf(scores1, scores1.length/2) 或int [] scores2 = Arrays.copyOf(scores1, 5) )

感悟

随着代码量抄写的量逐渐增大,感觉距离自己能独立写出代码已经很近了。已经在抄写代码的同时理解代码含义并且去做一些改变,比如增加一个输出,本来原代码是do while 的 改一改用用while for switch等等。小改变成功了,但是在自己独立编写代码时,总是编译多次通不过,一遍又一遍的修改才能完成,逻辑错误,语法错误,一个接着一个,犯了又犯,虽然感觉自己在进步,但是和同学的差距还是很大。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 3000行 30篇 400小时
第四周 416/1300 2/9 30/90

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

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

参考资料

posted @ 2017-03-19 03:18  20155329胡佩伦  阅读(170)  评论(0编辑  收藏  举报