已发布的Api但默认访问构造函数的抽象类

时间:2009-09-26 13:25:50

标签: java java-me constructor abstract-class

在MIDP api中有一个public abstract class Layer,这个类有一个javadoc发布但是它没有在javadoc中显示构造函数。 在同一个api中还有另外两个类Sprite和TiledLayer。

public class Sprite extends Layer
public class TiledLayer extends Layer

所有这些类都在包javax.microedition.lcdui.game

这意味着Layer的构造函数具有默认访问权限。

我想知道为什么class Layer的api已经发布,即使它不能在用户代码中进行细分?

2 个答案:

答案 0 :(得分:4)

Layer的公共接口已发布,因为即使您无法扩展它,当您以多态方式引用SpriteTiledLayer的实例时,仍可以使用它。

换句话说,可以将Sprite的实例视为Layer的实例,因此了解Layer的公共接口非常重要,这样您就知道了什么成员可以使用。

答案 1 :(得分:0)

类的默认构造函数与类本身具有相同的可见性。由于Layer是公共的,它的默认构造函数是public,所以它可以直接子类化。

http://java.sun.com/docs/books/jls/third_edition/html/classes.html#8.8.9