JAVA程序员必读:基础篇(6)--------接口和包

http://tech.ddvip.com   2006年11月22日    社区交流

本文详细介绍JAVA程序员必读:基础篇(6)--------接口和包

  StockWatcher.sunTicker

  从本质上讲,当类执行一个接口的时候,就签定了一个契约。所有的类必须执行所有定义在接口以及它的superinterfaces中的方法,以及类必须定义为abstract。这个方法的签名(名字和在类中参数类型的数目)必须匹配方法的签名。StockApplet执行SockWatcher接口,因此applet提供了valueChanged方法。这个方法公开地更新了applets的显示或者使用这个信息。

  6.1.4作为一种类型来使用接口

  当你定义一个新的接口的时候,从本质上讲,你定义了一个新的引用数据类型。你可以在你使用其它类型的名字(比如变量声明、方法参数等等)的地方,使用接口名字。回忆一下,我们前面在StockMonitor类中的watchStock方法中的第一个参数的数据类型,为StockWatcher:

publicclassStockMonitor{
publicvoidwatchStock(StockWatcherwatcher,
StringtickerSymbol,doubledelta){
...
}
}

   只有执行接口的类的实例可以赋值为一个引用变量,它的类型为接口名字。因此只有执行StockWatcher接口的类的实例可以注册以得到股票数值改变的通知。

  6.2创建和使用包

  本节教程将描述怎样捆绑你的类到包中,并且教你怎样使用包中的类:

  为了使得类更容易地被发现和使用,以及避免名字冲突、控制访问,程序员要捆绑相关的类和接口到包中。类和接口都是JAVA平台的一部分,它们都是各种由函数捆绑类的包的成员:基本类是在java.lang中,而用于阅读和书写的类在java.io中等等。你可以放置你的类和接口到包中:

  让我们看看以下的类并检查为什么你想将它们放置到包中。你可以编写一系列的图形对象的类:比如circles、rectangles、lines和points,你同样可以编写接口Draggable,它是在用户拖动鼠标的时候可以移动这些图形对象:

//在Graphics.java中的文件
publicabstractclassGraphic{
...
}
//在Circle.java的文件
publicclassCircleextendsGraphicimplementsDraggable{
...
}
//在Rectangle.java中的文件
publicclassRectangleextendsGraphicimplementsDraggable{
...
}
//在Draggable.java中的文件
publicinterfaceDraggable{
...
}

  那为什么你要将这些类和接口捆绑到一个包中呢?理由如下:

  所有的程序员可以容易地决定哪些类和接口是相关的。

  所有的程序员知道哪里可以找到与图形相关函数的类和接口。

  类的名字不会与其它包中的名字冲突,因为每个包创建了一个新的名空间。

  你可以允许在包的类有无限制的访问以及包外的类的有限制访问。

责编:豆豆技术应用

正在加载评论...