码迷,mamicode.com
首页 > 其他好文 > 详细

20182315 第六周学习总结

时间:2019-10-14 21:04:20      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:抛出异常   blog   def   参数   如何   代码量   mamicode   原因   lan   

20182315 2019-2020-1 《数据结构与面向对象程序设计》第六周学习总结

教材学习内容总结

  • 多态:定义为“有多种形式”,多态引用是指一个在不同时刻可以指向不同类型对象的引用变量。

  • 通过继承实现多态:

(1):当某类名声明一个引用变量,该变量可引用这个类的任意对象,还可以引用继承他的类的任何对象。

(2):Mammal pet; Horse secretariat=new Horse(); pet=secretasriat;该程序将父类定义的变量pet赋给子类Horse使用。但反过来的操作会丢失一些数据,因为子类包括的方法可能是父类所不具备的,所以会引起数据丢失。

(3): Animal creature=new Horse();这种思路也是可行的。

(4):Mammal继承于Animal,Horse继承于Mammal。而Animal定义的变量可调用三个类的方法。如果三个类都有move这个方法,那如何调用?在使用前应提前声明

  • 接口:Java的接口是一组常量和抽象方法,抽像方法是一个没有被实现的方法,接口是不能被实现的。接口的抽象方法通常都不加abstract,默认接口都是公共的。

  • 继承适用于接口!

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

  • 问题1:接口由implements接入,如果一个程序想用多个接口,如何处理?
  • 问题1解决方案:一:接口可以连接其他的接口,通过接口之间的传递关系调用接口。二:接口在使用时可以逗号连接两个接口。
    技术图片

  • 问题2:对通过接口实现多态的理解存在不足。
  • 问题2解决方案:通过深入思考,以课本为例:Speaker为接口,Philosopher实现了该接口,Speaker current; current =new Speaker;可将Philosopher中的对象赋给Speaker声明的current使用,类似父类与子类。即可认为实现Speaker接口的类都可被current引用。以实现多态。Speaker guest; guest=new philosopher(); guest.Speaker(); guest=new Dog(); guest.Speaker;与类实现多态一致,先声明再使用。

  • 问题3:finally子句具体作用不明确。
  • 问题3解决方法:如果try语句执行完没有错误,即运行完执行finally语句。若try出现错误则先运行catch语句,然后再运行finally。finally常用来管理资源,如释放缓冲区,或连接数据库。
    技术图片

  • 问题4:try抛出问题后,是否会继续执行程序?
  • 问题4解决方法:若为try-catch语句,发现异常处理后可继续运行,若为try-finally语句,则结束运行。

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

  • 问题1:在Comparable接口中的“object o”不理解,不会使用。
  • 问题1解决方案:object即为object类。所有的类皆为object引伸而出。因为多态,object类可以被声明为其他任何类型,即可灵活使用。
  • 问题2:对于自定义异常后报错后继续与运行程序的使用方法掌握存在盲点。
  • 问题2解决方案:(一):操作步骤如下:1.在报错方法头加上throws "+异常类名"。2.在准备抛异常的位置写上throw new "类名"(参数);。3.catch的字句加上异常方法名,再加一个对象,用于引出异常类里的方法。(二):对于另外一种情况,抛出异常后终止操作,要先实例化一个对象,例如pp10_2_1 problem=new pp10_2_1(a);然后直接throws problem;
    技术图片

技术图片

代码托管

(由于本人在本周使用新建文件夹,因此本周的代码量不包括之前的代码量)
技术图片

上周考试错题总结

  • 错题1及原因,错题1.The instruction super( ); does which of the following?

A .calls the method super as defined in the current class

B .calls the method super as defined in the current class‘parent class

C .calls the method super as defined in java.lang

D .calls the constructor as defined in the current class

E .calls the constructor as defined in the current class‘parent class

解析:instruction super表示对当前类的父类中某些内容的调用。因为除了super()之外没有消息,所以它是对父类构造函数的调用。

  • 错题2Which of the following is true regarding Java classes?

A .All classes must have 1 parent but may have any number of children (derived or extended) classes

B .All classes must have 1 child (derived or extended) class but may have any number of parent classes

C .All classes must have 1 parent class and may have a single child (derived or extended) class

D .All classes can have any number (0 or more) of parent classes and any number of children (derived or extended) classes

E .All classes can have either 0 or 1 parent class and any number of children (derived or extended) classes

解析:Java支持继承,但不支持多重继承,因此Java类可以有任意数量的子节点,但只有一个父级。此外,由于所有Java类都直接或间接从对象类继承,因此所有Java类只有一个父类。
答案:A

  • 错题3 原因分析
    nheritance through an extended (derived) class supports which of the following concepts?

A. interfaces

B. modular

C. information hiding

D. code reuse

E. correctness

分析:通过扩展一个类并继承它,新类不必重新实现任何这些继承的方法或实例数据,从而节省了程序员的工作量。因此,代码重用是为了您的需要扩展它而重用其他代码的好处。

答案:D

结对及互评

  • 基于评分标准,我给本博客打分:12分。得分情况如下:
  1. 正确使用Markdown语法加1分:

  2. 模板中的要素齐全加1分

  3. 教材学习中的问题和解决过程, (加4分)

  4. 代码调试中的问题和解决过程, (加2分)

  5. 周五前发博客的加1分

  6. 进度条中记录学习时间与改进情况的加1分

  7. 错题学习深入的加1分

  8. 结对学习情况真实可信的加1分

点评过的同学博客和代码

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

Java在自学的过程中难免会遇到困难,但在解决困难的过程中,可以锻炼自身的分析问题,解决问题的能力。对答案的检索,以及优质学习平台的发掘都有不可代替的作用

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 2/4 18/38
第三周 500/1000 3/7 22/60
第四周 300/1300 2/9 30/90
第五周 800/1000 3/4 20/18
第六周 700/900 3/3 20/19
  • 计划学习时间:20小时

  • 实际学习时间:21小时

参考资料

20182315 第六周学习总结

标签:抛出异常   blog   def   参数   如何   代码量   mamicode   原因   lan   

原文地址:https://www.cnblogs.com/zjwbk/p/11674065.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!