非抽象类中的抽象方法?

时间:2012-03-17 21:19:39

标签: android

我在这里有点困惑。 在我阅读某些Android类的API文档时,我发现SpannableStringBuilder类包含一个抽象方法

abstract void drawText(Canvas c, int start, int end, float x, float y, Paint p)

SpannableStringBuilder是非抽象类。

据我所知,非抽象类不能包含抽象方法,也不能实例化。 (SpannableStringBuilder也可以实例化) 那么这里的问题是什么?

1 个答案:

答案 0 :(得分:1)

你所说的都是真的。

这是一个文档错误。该方法不是抽象的。

源代码

 /**
 * Don't call this yourself -- exists for Canvas to use internally.
 * {@hide}
 */
public void drawText(Canvas c, int start, int end,
                     float x, float y, Paint p) {
    checkRange("drawText", start, end);

    if (end <= mGapStart) {
[...]