ch10 - 抽象类和接口 Java语言程序设计基础篇课件.pptVIP

  • 2
  • 0
  • 约4.33千字
  • 约 20页
  • 2018-01-25 发布于浙江
  • 举报

ch10 - 抽象类和接口 Java语言程序设计基础篇课件.ppt

ch10 - 抽象类和接口 Java语言程序设计基础篇课件

YANGLIN@BNUITC Java程序设计 第10章 抽象类和接口 学习目标 设计和使用抽象类 掌握接口的声明和实现 了解抽象类和接口的异同 掌握基本数据类型的包装类型 了解JDK1.5中基本数据类型与包装类型的自动转换 抽象类和抽象方法 Java中可以定义不含方法体的方法,方法的方法体由该类的子类根据自己的情况去实现,这样的方法称为抽象方法(abstract method),包含抽象方法的类必须是抽象类(abstract class)。 一个类C如果满足下面的任一条件,则该类包含抽象方法: 类C显式地包含一个抽象方法的声明; 类C的父类中声明的抽象方法未在类C和它的父类中实现; 类C的父接口中声明或继承一个方法,并且类C中未声明或继承一个方法来实现它。 注意 抽象类和抽象方法必须用abstract关键字来修饰。 只有实例方法可以声明为抽象方法。 抽象类不能被实例化,即不能用new关键字创建对象。 抽象类的父类可以是具体类。 具体子类必须实现抽象父类中所有抽象方法,否则子类需要声明为抽象类。 抽象类示例 Circle - radius : double + + + + + Override Override getRadius () setRadius (double radius) getArea () getPerimeter () toString () : double : void : double : double : String GeometricObject - - color filled : String : boolean + + + + + + getColor () setColor (String color) isFilled () setFilled (boolean filled) getArea () getPerimeter () : String : void : boolean : void : double : double Rectangle - - width height : double : double + + + + + + + Override Override getWidth () setWidth (double width) getHeight () setHeight (double height) getArea () getPerimeter () toString () : double : void : double : void : double : double : String Override Override Example:GeometricObject.java,Circle.java, Rectangle.java, TestGeometricObject.java 接口 接口是常量和抽象方法的集合。接口是能力、规范、协议的反映。 语法 [modifier] interface interfaceName { constant_declaration* abstract_method_declaration* } 接口中的数据字段隐含为public static final 接口体中的方法隐式地声明为public abstract 使用接口 可以在能够使用任何其他数据类型的地方使用接口。 接口类型属于引用类型,接口类型的变量可以存储: 空引用(null) 任何实现该接口的类的实例的引用 类实现接口的语法 [modifier] class className [extends superclass] [implements interfaceNameList ] { member_declaration* } 除非类被声明为abstract,所有父接口中声明的成员方法必须被实现,或者通过在类中声明或者通过从父类继承已有的方法声明。 例1 public interface Flyer { void takeOff(); void land(); void fly(); } public class Airplane implements Flyer { public void takeOff() { // 加速直到离地升空 // 收起起落架 } public void land() { // 放下起落架 // 减速并降低副翼直到降落 // 刹车 } publi

文档评论(0)

1亿VIP精品文档

相关文档