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

教材学习内容总结

第五章:子类与继承

  • 子类的定义:class 子类名 extends 父类名 { ... }
  • 子类继承性:子类继承父类的成员变量、方法。成员变量可以被子类中自己定义的任何实例方法操作;继承的方法可以被子类自己定义的任何实例方法调用。
  • 子类继承性的分类
  1. 在同一个包中:子类自然的继承其父类不是private的成员变量和方法
  2. 不在同一个包中:子类只继承了其父类中的protected和public访问权限的成员变量和方法。
  • 成员变量的隐藏和方法重写
  1. 成员变量的隐藏:编写子类时,声明的成员变量与父类继承来的成员变量一致,这时,子类就会隐藏所继承的成员变量。
  2. 方法重写:方法的类型与其父类一致;子类声明方法时,其方法的名字、参数个数、参数类型和父类一致。注意:重写方法时,不允许降低方法的权限,可以提高方法的权限。
  3. 访问限制修饰符按访问权限从高到低的排序为public、protected、友好的、private。
  • super关键字:用super操作隐藏的成员变量和方法super.*,当子类调用父类的构造方法时,必须使用super关键字调用。
  • final关键字:修饰类、成员变量、方法中的局部变量;final关键字如果定义成员变量、局部变量则为常量fianl double PI=3.1415326;
  • 继承与多态:多态性就是指父类的某个方法被子类重写时,可以各自产生自己的功能行为
  • 对象的上转型对象:子类创建的对象引用到父类的对象当中,这时称对象a是对象b的上转型对象。
  • abstract类和abstract方法:用关键字abstract修饰的类称为abstract类(抽象类);修饰的方法叫做抽象方法。
  1. abstract类中可以有abstract方法,也可以没有。
  2. abstract类不能用new运算符创建对象
  3. abstract类的子类:非abstract类是其子类,必须重写父类的abstract方法,并给出方法体;abstract类是子类时,可以重写,也可以继承父类的abstract方法。
  4. abstract类的对象作上转型对象
  5. abstract类只关心操作。
  • 开闭原则:拓展开放,修改关闭。

第六章:接口与实现

  • 接口:关键字interface来定义一个接口。分为接口声明,接口体。
interface Printable {
final int MAX=100;
void add();
float sum(float x,float y);
}
  1. 接口声明:关键字interface来声明为一个接口。
  2. 接口体:包含常量的声明和抽象方法。接口体中所有的常量的访问权限都是public,而且是static常量,所有的抽象方法是访问权限都是public
  • 实现接口:
  1. 类实现接口:接口由类来实现以便使用接口中的方法。关键字implements声明该类实现一个或多个接口。如:class A implements Printable,Addable
  2. 重写接口中的方法:如果非抽象类实现了某个接口,那么必须重写这个接口的所有方法。注意接口中的方法一定是public abstract方法,所以类重写方法时去掉abstract修饰符、给出方法体、访问权限一定要用public来修饰
  • 接口的UML层:第一层为名字层;第二层为常量层;第三层为方法层
  • 接口回调:和类一样为重要的数据结构,接口声明的变量为接口变量;接口属于引用型变量,可以存放对象的引用。指针回调一词表示:一个变量的地址在某个时候存放在一个指针变量中,那么指针变量就可以间接操作该变量存放的数据。在Java中接口回调:可以把实现某一接口的类创建的对象的引用赋值给该接口声明的接口变量中,那么该接口就可以调用被类实现的接口方法
Com com;  //Com为一个接口,com为其声明的一个变量
public class ImpleCom implements Com { ... }//ImpleCom类是实现Com接口的类
ImpleCom object = new ImpleCom();//用ImpleCom创建名字为object的对象,此时object对象可以调用ImpleCom类中原有的方法,还可以调用ImpleCom类实现的接口的方法。
com=object;//将object对象的引用赋值给com接口,此时,com变量可以调用类实现的接口方法(接口回调)
  • 接口与多态:指不同的类在实现同一个接口时可能具有不同的实现方式,那么接口变量在回调接口方法时就可能具有多种形态。
  • abstract类与接口的比较
  • 面向接口编程:抽象类将其抽象分的实现交给其子类;接口将其抽象方法的实现交给实现该接口的类。
  • 使用接口进行程序设计的核心是接口回调,即接口变量存放实现该接口的类的对象的引用,从而接口变量就可以回调类实现的接口方法。还体现了开-闭原则。

代码托管

20165324《Java程序设计》第四周-LMLPHP

20165324《Java程序设计》第四周-LMLPHP

学习进度条

目标5000行30篇400小时
第一周203/2034/415/15
第二周326/5292/612/27
第三周1000/15002/820/47
第四周800/23003/1120/67

参考资料

05-11 19:56