学号 20175212 《Java程序设计》第4周学习总结

学号 20175212 《Java程序设计》第4周学习总结

教材学习内容总结

1、 子类与父类html

  1. 父类中的private和友好访问权限的成员变量不会被子类继承。子类只继承父类中的protected和public访问权限的成员变量和方法。

2、 成员变量的隐藏和方法重写java

  1. 成员变量的隐藏

声明的成员变量的名字和从父类继承的相同时,子类会隐藏继承而来的成员变量。 且:子类对象仍然能够调用从父类继承的方法操做被子类隐藏的成员变量,也就是说子类继承的方法所操做的成员变量必定是被子类继承或隐藏的成员变量。git

  1. 方法重写

重写方法既能够操做继承的成员变量、调用继承的方法,也能够操做子类新声明的成员变量、调用新定义的其余方法,但没法操做被子类隐藏的成员变量和方法。(除非使用super关键词)
另外的,子类中重写的方法与父类中继承的方法不是同一类型,且其余变量都不变的状况下,易出现编译错误,如:编程

class A {
  float computer(float x, float y) {
  return x+y;
}
}

重写时:markdown

class B extend A {
  double computer(float x, float y) {
return x*y;
}
}
可是,子类中重写的方法能够是父类方法的子类型。

3、super关键词学习

Super用于访问和调用被子类隐藏的成员变量和方法。用法基本为super.x或super.play().设计

4、final关键词调试

  1. final类

形如final class A {} final类不能被继承,即不能有子类。code

  1. final方法

在父类用final修饰的方法,不容许被子类重写。htm

  1. final变量

就是常量,不容许修改值。

5、对象的上传型对象

建立方式:

Animal a;
Tiger b = new Tiger();
a =b;

6、 **继承与多态(重点)

** 上传型对象在调用一个方法时可能具备多种形态,由于不一样的子类在重写父类的方法时可能产生不一样的行为。为之后复习方便,在此记录书上例题代码:

class  动物 {
   void cry() {
   }  
}
class 狗 extends 动物 {
   void cry() {
      System.out.println("汪汪....."); 
   }  
}
class 猫 extends 动物  {
   void cry() {
      System.out.println("喵喵....."); 
   }  
}
public class Example5_11 { 
   public static void main(String args[]) {
      动物 animal;
      animal = new 狗();
      animal.cry(); 
      animal=new 猫();
      animal.cry();
  }
}

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

  • 问题1:编译类文件时始终提示找不到符号。

  • 问题1解决方案:通过尝试,直接编译运行主类文件,便可正常使用。

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

  • 问题1:
    教材P124 Example5¬_8.java中,父类class中为何要定义两个构造方法;而且为何子类UniversityStudent中调用重写后的Student构造方法时要用super关键字。

  • 问题1解决方案:通过询问同窗并按照书中提示尝试后,发现因为子类不继承父类的构造方法,所以子类中的super是指调用父类其中一个构造方法,而不是调用被隐藏的。

代码托管

上周考试错题总结

结对及互评

点评模板:

  • 博客中值得学习的或问题:
    • 用了不少截图,使问题的呈现清楚明了
    • 教材学习内容总结较为具体便于复习时重温
    • markdown格式规范
  • 代码中值得学习的或问题:
  • 基于评分标准,我给本博客打分:13分。得分状况以下:
  1. 正确使用Markdown语法(加1分)
  2. 模板中的要素齐全(加1分)
    3.教材学习中的问题和解决过程, 一个问题加1分
    4.代码调试中的问题和解决过程, 两个问题加2分
    5.本周有效代码超过300分行的(加2分)
    • 周五前发博客的加1分
    • 排版精美的加一分
    • 感想,体会不假大空的加1分
    • 课后选择题有验证的加1分
    • 代码Commit Message规范的加1分
    • 点评认真,能指出博客和代码中的问题的加1分
    • 结对学习状况真实可信的加1分

点评过的同窗博客和代码

  • 本周结对学习状况
    • 20175227

    • 结对学习内容
      • 实验一 Java开发环境的熟悉
      • 第五章代码运行调试
  • 上周博客互评状况(只要连接,具体点评放相应博客下)

    本周首次互评

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

本章的学习使我更加直观透彻的理解了子类父类的关系以及各类编程方法与规则,也对面向对象中的继承与多态特色有了更深的了解。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 6/6 1/1 20/20
第二周 245/251 1/2 18/38
第三周 633/884 1/3 22/60
第四周 305/1189 1/4 30/90

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

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

  • 计划学习时间:XX小时

  • 实际学习时间:XX小时

  • 改进状况:

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

参考资料

相关文章
相关标签/搜索