抽象的基础类和接口
设计程序时,我们经常都希望基础类只为自己的衍生类提供一个接口。也就是说,我们不想其他任何人实际 创建基础类的一个对象,只对上溯造型成它,以便使用它们的接口。为达到这个目的,需要把那个类变成
“抽象”的——使用abstract 关键字。若有人试图创建抽象类的一个对象,编译器就会阻止他们。这种工具 可有效强制实行一种特殊的设计。 亦可用 abstract 关键字描述一个尚未实现的方法——作为一个“根”使用,指出:“这是适用于从这个类继 承的所有类型的一个接口函数,但目前尚没有对它进行任何形式的实现。”抽象方法也许只能在一个抽象类 里创建。继承了一个类后,那个方法就必须实现,否则继承的类也会变成“抽象”类。通过创建一个抽象方 法,我们可以将一个方法置入接口中,不必再为那个方法提供可能毫无意义的主体代码。 interface(接口)关键字将抽象类的概念更延伸了一步,它完全禁止了所有的函数定义。“接口”是一种相 当有效和常用的工具。另外如果自己愿意,亦可将多个接口都合并到一起(不能从多个普通 class 或 abstract class 中继承)。
1 package Com.TomTest; 2 3 4 class Multiply { 5 float f(float x,float y) { 6 return x*y; 7 } 8 } 9 class Add extends Multiply { 10 float f(float x,float y) { 11 return x+y ; 12 } 13 } 14 public class TomTest_25 { 15 public static void main(String args[]) { 16 Add sum; 17 sum=new Add(); 18 float c=sum.f(4,6); 19 System.out.println(c); 20 } 21 }