20165232 第四周学习总结

20165232 第四周学习总结

教材学习内容总结

第五章 子类与继承

  • 类的声明中,通过使用关键字extends来定义一个类的子类,格式:class 子类 extends 父类
  • 子类的继承性
  1. 子类和父类在同一包中
  2. 子类和父类不在同一包中:子类只继承父类中protected和public访问权限的成员变量作为子类成员变量
  • 关于instanceof运算符
    党操作元是类或子类创建的对象时,instanceof运算的结果是ture,否则faulse

  • 继承的好处:避免重复的同时,若是要对相应的数据成员名称做修改,只需要在父类中修改即可;

  • is-a:子类与父类之间是is-a(是一种)关系,编写代码时可以使用is-a检查语法的逻辑是否正确:从=右边往左读,看右边是不是左边的子类。当右边不是左边的子类的时候,程序编译错误,也可能存在检查为右边可能是左边子类的不确定的结果,这时可以执行(Cast)叫程序住嘴语法,错误时抛出ClassCastException.

  • is-a关系:子类只能继承一个父类,即子类“是一种”父类,可用来判断如下代码片段:

  • super关键字:在子类中想使用被隐藏子类的成员变量或者方法,该方法的调用由关键字super负责

  • 多态:单一接口操作多种类型的对象。

  • 继承语法细节

  1. protected成员:被声明为protected的成员,相同包中的类可以直接存取,不同包中的类可以在继承后的子类直接存取;
  2. 重新定义的细节:重新定义方法时,若只是希望在父类中方法前后做点加工,可在父类中直接添加,想取得父类中的方法定义,只需在调用前加上super关键字;(使用super关键字调用的父类方法不能定义为private,同时,重新定义方法时,对于父类中的方法权限只能扩大不能缩小)
  3. final关键字:final关键字可以修饰类,成员变量和方法中局部变量
  4. java.lang.Object:定义类时若没有extends关键字,那一定是继承java.lang.Object;(顶层父类,Object上定义的方法所有对象都继承下来了,只要没有定义为final,都可以重新定义
  5. instanceof运算符:判断对象是否由某个类创建,左操作数是对象,右操作数是类,只要左操作数是右操作数的子类型,返回结果就为true;

第六章 接口与实现

  • 接口
  1. 接口:可用于定义行为但不操作(表示拥有行为,是多重继承的一种方式),类要操作接口,就必须有implements关键字(为了生成与特定接口相符合的类);
  2. 接口中定义的方法的处理方式:操作接口中定义的方法、再度将其标示为abstract;
  • 接口语法
  1. 接口的默认:接口中的方法没有操作时,一定得是公开且抽象(interface关键字:定义抽象行为与外观);
  2. 枚举常数:为了在维护程序时使程序清晰;
  3. 匿名内部类:对于只使用一次的继承某个类的子类或接口操作类,不需为这些类定义名称;

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

代码托管

image

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 20篇 400小时
第一周 13/13 1/1 17/17
第二周 408/408 2/2 18/18
第三周 962/962 1/1 22/22
第四周 1350/1350 1/1 19/19
posted @ 2018-03-24 16:32  何彦达  阅读(113)  评论(0编辑  收藏  举报