Jav最新实用教程 与抽象类不同的是:接口允许在看起来不相干的类之间定义共 同行为。 2.接口的语法 使用关键字 interface来声明接口。Java接口中只有方法的声明, 而没有直接定义方法的内容。它的声明格式为: 接口修饰符] interface接口名称[ extends父类名] 方法的声明或静态常量 接口与一般类的声明基本一样,本身也具有数据成员与方法, 但数据成员一定要赋初值,且此值将不能再更改,即为fnal常 量,而方法必须为“抽象方法”,由前面5.4.2节中的抽象方法 知,抽象方法必须被修饰为 public abstract,不过在接口中成员 数据前的fnal关键字、方法的 public关键字、 abstract关键字可 以省略 2021年2月20日星期六
Java最新实用教程 2021年2月20日星期六 6 与抽象类不同的是:接口允许在看起来不相干的类之间定义共 同行为。 2. 接口的语法 使用关键字interface来声明接口。Java接口中只有方法的声明, 而没有直接定义方法的内容。它的声明格式为: [接口修饰符] interface 接口名称 [extends 父类名] { …//方法的声明或静态常量 } 接口与一般类的声明基本一样,本身也具有数据成员与方法, 但数据成员一定要赋初值,且此值将不能再更改,即为final常 量,而方法必须为“抽象方法” ,由前面5.4.2节中的抽象方法 知,抽象方法必须被修饰为public abstract,不过在接口中成员 数据前的final关键字、方法的public关键字、abstract关键字可 以省略
Jav最新实用教程 可以将例6.1中的 INsurable接口声明如下 tblic inter face Insurable public int getNumbero public int get Coverage AmountO public double caculate Premium public Date get ExpiryDateO 从中可以看出,接口中的方法值提供一种形式,而没有具体实 施的细节 例62:接口应用举例 声明一个接口Shap2D,可以用它来实现二维的几何形状类 Circle和 Rectangle。对二维的几何形状而言,面积的计算是很 重要的。因此可以把计算面积的方法声明在接口里,并且 Circle类的面积计算需要常量pi,所以接口的内容就包含了常 量p和求面积的方法 可以定义出如下接口: 2021年2月20日星期六
Java最新实用教程 2021年2月20日星期六 7 可以将例6.1中的Insurable接口声明如下: public interface Insurable { public int getNumber(); public int getCoverageAmount(); public double caculatePremium(); public Date getExpiryDate(); } 从中可以看出,接口中的方法值提供一种形式,而没有具体实 施的细节。 例6.2:接口应用举例。 声明一个接口Shap2D,可以用它来实现二维的几何形状类 Circle和Rectangle。对二维的几何形状而言,面积的计算是很 重要的。因此可以把计算面积的方法声明在接口里,并且 Circle类的面积计算需要常量pi,所以接口的内容就包含了常 量pi和求面积的方法。 可以定义出如下接口:
Jav最新实用教程 interface Shape2D∥声明接口 Shape 2D final double pi=3. 14 ∥,数据成员一定要初始化 public double getAreao ∥抽象方法 6.12接口的实现 前面提到,接口是一种特殊的抽象类,所以接口也不能用new 运算符直接实例化。但是可以利用接口的特性来构造新的类 再用它来创建对象。利用接口构造新类的过程,称为接口的实 现 个类如要使用一个或一组接口的特性,要使用 implements关 键字。实现接口的语法如下: public class类名[ extends父类名] implements接口名[,接口名[…] 接口中的方法实现 2021年2月20日星期六
Java最新实用教程 2021年2月20日星期六 8 interface Shape2D //声明接口Shape2D { final double pi=3.14; //数据成员一定要初始化 public double getArea(); //抽象方法 } 6.1.2接口的实现 前面提到,接口是一种特殊的抽象类,所以接口也不能用new 运算符直接实例化。但是可以利用接口的特性来构造新的类, 再用它来创建对象。利用接口构造新类的过程,称为接口的实 现。 一个类如要使用一个或一组接口的特性,要使用implements关 键字。实现接口的语法如下: public class 类名 [extends 父类名] implements 接口名 [,接口名[…]] { … …//接口中的方法实现 }
Jav最新实用教程 完成接口的类必须实现接口中的所有方法,具体实现了一个接 口后,就获得了一个普通的类,可用标准方式对其进行使用或 扩展。注意在实现一个接口的时候,来自接口的方法必须声明 成 public。 例6.3:实现接口 Insurable 下面声明汽车类实现例6.1中的 Insurable接口,并且实现了接口 中的所有抽象方法 Public class Car implements Isurable∥使用接口 Insurable public int getNumbero i ∥方法体语句 public int getCoverage AmountO ∥方法体语句 public double caculate Premium i ∥方法体语句 public Date get ExpiryDateOi 方法体语句 2021年2月20日星期六
Java最新实用教程 2021年2月20日星期六 9 完成接口的类必须实现接口中的所有方法,具体实现了一个接 口后,就获得了一个普通的类,可用标准方式对其进行使用或 扩展。注意在实现一个接口的时候,来自接口的方法必须声明 成public。 例6.3:实现接口Insurable。 下面声明汽车类实现例6.1中的Insurable接口,并且实现了接口 中的所有抽象方法。 Public class Car implements Isurable //使用接口Insurable { public int getNumber() { //方法体语句 } public int getCoverageAmount() { //方法体语句 } public double caculatePremium() { //方法体语句 } public Date getExpiryDate(){ //方法体语句 } }
Jav最新实用教程 例64:实现例62中的接口 Shape2D 下面声明 Circle类计算圆面积, Rectangle类计算矩形面积, 分别实现 Shape2D接口。 class Circle implements Shape2D double r public Circle(double r) thisr=r ublic double getArea()∥实现抽象方法 return(pi*r*r); class Rectangle implements Shape2D double wh public Rectangle( double width, double height) w=width h=height 2021年2月20日星期六
Java最新实用教程 2021年2月20日星期六 10 例6.4:实现例6.2中的接口Shape2D。 下面声明Circle类计算圆面积,Rectangle类计算矩形面积, 分别实现Shape2D接口。 class Circle implements Shape2D { double r; public Circle(double r) { this.r=r; } public double getArea() //实现抽象方法 { return (pi*r*r); } } class Rectangle implements Shape2D { double w,h; public Rectangle(double width, double height) { w=width; h=height; }