JAVA全套简明教程ch09 - 继承和多态.pptVIP

  • 3
  • 0
  • 约4.1千字
  • 约 20页
  • 2016-11-25 发布于浙江
  • 举报
JAVA全套简明教程ch09 - 继承和多态

YANGLIN@BNUITC Java程序设计 第9章 继承和多态 学习目标 理解类继承的概念以及父类和子类的关系 理解super关键字 掌握方法覆盖 理解多态性、动态绑定和对象的强制类型转换 理解数据字段和静态方法的隐藏 掌握修饰符:protected、final 了解ArrayList类 Employee和Manager public class Employee { public String name; public double salary; public Date birthDate; public String getDetails() {...} } public class Manager { public String name; public double salary; public Date birthDate; public String department; public String getDetails() {...} } 继承 public class Employee { public String name; public double salary; public Date birthDate; public String getDetails() {...} } public class Manager extends Employee { public String department; } Employee + + + name salary birthDate : String : double : Date + getDetails () : String Manager + department : String 父类和子类 语法 class ClassName extends Superclass { class body } 如果class C1 extends C2,则称C1为子类(subclass),C2为父类(superclass)。 子类继承了父类中可访问的数据和方法,子类也可添加新的数据和方法, 子类不继承父类的构造函数。 一个类只能有一个直接父类。 继承 Manager Employee Employee的数据 Employee的方法 Employee的数据 Manager的数据 Employee的方法 Manager的方法 例 几何对象类 编写程序,父类GeometricObject,两个子类Circle和Rectangle。 Example:v1/Circle.java, v1/Rectangle.java, v1/TestCircleRectangle.java super关键字 调用父类的构造函数 super(parametersopt)调用父类的的构造函数。 必须是子类构造函数的第一条语句。 如果子类中没有显式地调用父类的构造函数,那么将自动调用父类不带参数的构造函数。 父类的构造函数在子类构造函数之前执行。 调用父类的成员 super.data super.method(parameters) Example: ConstructorDemo.java 方法覆盖 如果子类重新定义了从父类中继承的实例方法,称为方法覆盖(method override)。 仅当方法是可访问的实例方法时,才能被覆盖,即私有方法不能被覆盖。 静态方法不能被覆盖,如果静态方法在子类中重新定义,那么父类方法将被隐藏。 一旦父类中的方法被覆盖,则不能从子类外部访问被覆盖的方法。在子类中可以使用super引用被覆盖的方法。 Example:v2/Circle.java, v2/Rectangle.java, v2/TestCircleRectangle.java OverrideTest.java 覆盖与重载 public class Test { public static void main(String[] args) { A a = new A(); a.p(10); } } class B { public void p(int i) { } } class A extends B { public void p(int i) { System.out.println(i); } } public class Test { public static void main(Str

文档评论(0)

1亿VIP精品文档

相关文档