Java 向接口添加现有方法
我再一次被Kilibolt教程困住了,但现在又是另一个例子。 我需要画多边形,但android中没有这种方法。所以我用谷歌搜索了一下,找到了我需要的东西。要绘制多边形,我需要方法drawPathPath,Paint。我在任何需要的地方导入android.graphics.Canvas,然后将此方法添加到Kilobolt教程中的界面GraphicsA中。在那个AndroidGraphics类说有未实现的方法要添加之后,我添加了它。我明白了Java 向接口添加现有方法,java,android,Java,Android,我再一次被Kilibolt教程困住了,但现在又是另一个例子。 我需要画多边形,但android中没有这种方法。所以我用谷歌搜索了一下,找到了我需要的东西。要绘制多边形,我需要方法drawPathPath,Paint。我在任何需要的地方导入android.graphics.Canvas,然后将此方法添加到Kilobolt教程中的界面GraphicsA中。在那个AndroidGraphics类说有未实现的方法要添加之后,我添加了它。我明白了 @Override public void dra
@Override
public void drawPath(Path path, Paint paint) {
// TODO Auto-generated method stub
}
这是否意味着,这种必要的方法是有效的?一点也不
这只是意味着你必须实施它
IDE将自动为您生成一个方法,该方法至少可以使代码编译
由于您的方法返回void,那么,自动生成的方法存根将不起任何作用
如果它返回了一个int,那么生成的存根可能会返回0。如果有任何对象或子类,则为null;等等
这只是提醒您必须提供一个实现
这只是一个评论;如果您希望编辑IDE首选项并将其替换为:
// TODO need an implementation here
或者别的什么
编辑:事实上这是IDE中的一个bug;它不是从接口实现的方法,而是从超类重写的方法;但是模板引擎没有生成对super…的调用,但是Canvas-,android.graphics.Paint中有这样一个方法,我真的不知道这里发生了什么,我找不到这个方法的源代码这似乎是您使用的IDE中的一个bug;如果选择重写该方法,它至少应该生成对超级方法的调用,但它没有。您至少应该调用super.drawPathpath,paint;。类型对象的drawPathPath、Paint方法未定义。当我在方法中添加这个时,它就是这么说的