Jav最新实用教程 public double get Areao/实现抽象方法 return(w*h) 测试类声明如下 public class Interface test public static void main(String args) Circle ovel=new Circle(2.0) System. out. println("圆ovel的面积为"ovel. getArea(); Rectangle rect=new Rectangle(2.0,3.0) System. out. println("矩形rect的面积为"+rect. get Areao) 2021年2月20日星期六
Java最新实用教程 2021年2月20日星期六 11 public double getArea() //实现抽象方法 { return (w*h); } } //测试类声明如下: public class Interface_test { public static void main(String args[]) { Circle ovel=new Circle(2.0); System.out.println("圆ovel的面积为"+ovel.getArea()); Rectangle rect=new Rectangle(2.0,3.0); System.out.println("矩形rect的面积为"+rect.getArea()); } }
Jav最新实用教程 运行步骤: javac Shape2D. java javac Interface test java java Interface test 运行显示结果: 圆ovel的面积为12.56 矩形rect的面积为6.0 由本例可以看出,通过接口以及实现接口的类,可以编写出跟 简洁的程序代码。 6.1.3利用接口实现类的多重继承 有时候,人们会希望一个子类同时继承自两个以上的父类,以 便使用每一个父类的功能,但av并不允许多个父类的继承, 其中的原因很简单,因java的设计是以简单实用为导向,而利 用类的多重继承将使得问题复杂化,这与ava设计的原意相违 背 2021年2月20日星期六
Java最新实用教程 2021年2月20日星期六 12 运行步骤: >javac Shape2D.java >javac Interface_test.java >java Interface_test 运行显示结果: 圆ovel的面积为12.56 矩形rect的面积为6.0 由本例可以看出,通过接口以及实现接口的类,可以编写出跟 简洁的程序代码。 6.1.3 利用接口实现类的多重继承 有时候,人们会希望一个子类同时继承自两个以上的父类,以 便使用每一个父类的功能,但java并不允许多个父类的继承, 其中的原因很简单,因java的设计是以简单实用为导向,而利 用类的多重继承将使得问题复杂化,这与java设计的原意相违 背
Jav最新实用教程 虽然jaVa不允许一个类有多个父类,但允许一个类可以实现多 接口,通过这种机制可以实现多重继承。 个类实现多个继承的方法很简单,只要将接口名放在 implements后面,接口名以逗号隔开即可。当然此时需要在继 承的类中实现每一个接口中的所有抽象方法 假设对于二维图形来说,需要计算面积的同时设置图形的颜色 。此时可以声明一个 Color接口如下 interface Color( ∥接口内容 此时例64中的 Circle类或 Rectangle类都可以同时继承 Shape2D 和 Color接口,以 Circle类为例,继承过程如下: class circ le implements Shape2D, Color( ∥ Shape2 D Color接口中的方法实现及其它 2021年2月20日星期六 13
Java最新实用教程 2021年2月20日星期六 13 虽然java不允许一个类有多个父类,但允许一个类可以实现多 个接口,通过这种机制可以实现多重继承。 一个类实现多个继承的方法很简单,只要将接口名放在 implements后面,接口名以逗号隔开即可。当然此时需要在继 承的类中实现每一个接口中的所有抽象方法。 假设对于二维图形来说,需要计算面积的同时设置图形的颜色 。此时可以声明一个Color接口如下。 interface Color{ …//接口内容 } 此时例6.4中的Circle类或Rectangle类都可以同时继承Shape2D 和Color接口,以Circle类为例,继承过程如下: class Circle implements Shape2D,Color{ …// Shape2D,Color接口中的方法实现及其它 }
Jav最新实用教程 61.4接口的扩展 接口与一般类一样,可通过扩展( extends)技术来派生出新的 接口,原来的接口称为基本接口( base interface)或父接口 super inter face),派生出的接口称为派生接口( derived interface)或子接口( sub interface)。派生接口不仅可以保有 父接口的成员,同时也可以加入新的成员以满足实际问题的需 要 接口的扩展或继承也是通过关键字 extends。但是一个接口可以 继承多个接口,这点与类的继承有所不同。接口扩展的语法如 下 interface子接口名 extends父接口名1,父接口名2, 例6.5:接口扩展举例。 2021年2月20日星期六
Java最新实用教程 2021年2月20日星期六 14 6.1.4接口的扩展 接口与一般类一样,可通过扩展(extends)技术来派生出新的 接口,原来的接口称为基本接口(base interface)或父接口( super interface), 派生出的接口称为派生接口 ( derived interface)或子接口(sub interface)。派生接口不仅可以保有 父接口的成员,同时也可以加入新的成员以满足实际问题的需 要。 接口的扩展或继承也是通过关键字extends。但是一个接口可以 继承多个接口,这点与类的继承有所不同。接口扩展的语法如 下: interface 子接口名 extends 父接口名1 ,父接口名2 ,… { … } 例6.5:接口扩展举例
Jav最新实用教程 已知规则的3维图形都有2维的底,二维图形又有共用的变量pi 和设置颜色的行为,所以创建三维图形类如球类 Sphere或盒类 Box的过程可以这样设计:建立基本接口 Shape,二维接口 Shape2D继承接口 Shape, sphere或Box类实现接口 Shape2D 部分代码如下: interface Shape ∥声明接口 double pi=3. 14 void set Color( String str); interface Shape2D extends Shape double getAreal public class Box implements Shape2DBox类假设为圆柱形 double r, h String public Box( double r, double h) thisrr 2021年2月20日星期六
Java最新实用教程 2021年2月20日星期六 15 已知规则的3维图形都有2维的底,二维图形又有共用的变量pi 和设置颜色的行为,所以创建三维图形类如球类Sphere或盒类 Box的过程可以这样设计:建立基本接口Shape,二维接口 Shape2D继承接口Shape,sphere或Box类实现接口Shape2D。 部分代码如下: interface Shape //声明接口 { double pi=3.14; void setColor(String str); } interface Shape2D extends Shape { double getArea(); } public class Box implements Shape2D //Box类假设为圆柱形 { double r,h;String c; public Box(double r,double h) { this.r=r; this.h=h; }